私の現在の実装では、各dbテーブルに対して別々のエンティティクラスがあります。私はeclipselink-2.5.2と一緒にJPAを使用しています。これは私のためにうまくいきますが、データが巨大であるときには遅れます。だから私は@Embedded、@ Embeddableと@EmbeddedIdの使用を開始することに決めました。これをしている間、私は非常に奇妙なエラーを受けています。ここに完全なスタックトレースが掲載されています:https://gist.githubusercontent.com/tjDudhatra/b955812e0d1a71cf97f1/raw/11ea458869e24baae744530417ac99bc877ed514/gistfile1.txtEclipseLink-2.5.2でEmbeddableクラスのIDタイプを設定する際に奇妙な問題が発生しました
具体的には、私はあなたに例外が発生している場合の正確なシナリオを教えてください。 3つのクラスを持つこのCodeブロックを考えてみましょう。 1つは@Entityとして注釈され、他の2つは@Embeddableとしてアノテートされます。 私は1つのクラスで私たちは@Idと@EmbeddedIdを定義することはできませんし、私は、あまりにも、サーバーを展開しながら、私は言う例外を取得しています、そのように行っていないことを知っている:
[クラスorg.apache
{工ass}] @EmbdeddedId(属性 の[ID])と@Id(属性の[]。両方IDタイプが同じエンティティで を指定することができないの両方を有する。
@Entity
@Table(name="user")
public class User {
@ID
public Long id;
@Column(name="userCode")
public String userCode;
@ElementCollection
@CollectionTable(name = "address", joinColumns = @JoinColumn(name = "user_id"))
public List<Address> addressList;
....
}
@Embeddable
public class Address {
@EmbeddedId
@Column(name = "id")
public Long id;
@Column(name="userId")
public Long userId;
@Column(name="address-line-1")
public String addressLine1;
@Column(name="address-line-2")
public String addressLine2;
@ElementCollection
@CollectionTable(name = "phone", joinColumns = @JoinColumn(name = "user_id"))
protected List<Phone> phoneList;
....
}
@Embeddable
public class Phone {
@EmbeddedId
@Column(name = "id")
public Long id;
@Column(name="contact_no")
public String contactNo;
@Column(name="country_code")
public int countryCode;
@Column(name="address_id")
public int addressId;
....
}
くださいより多くの詳細が必要であればどんな種類の助けでも大いに感謝されますように教えてください。
のおかげで、
おお、私は謝罪、それはあなたの応答のためのEclipseLink-2.5.2 –