私は以下のエンティティを持っています:ShoppingCart、抽象クラスユーザを拡張するユーザとエンドユーザ。 AddressDetailsは、EndUserエンティティに埋め込まれた埋め込み可能です。結合サブクラスの埋め込み可能なプロパティを照会するHibernate/JPA
私のクエリは次のようになります。SELECT sc FROM ShoppingCart sc JOIN sc.endUser as endUser WHERE endUser.name EQ someName and endUser.addressDetails.zip EQ 1234
私はWHERE句の第二の部分を削除し、ちょうどendUser.nameの一部を残す場合は、すべてが正常に動作します(名前はエンドユーザーのエンティティクラスのプロパティですUserエンティティクラスのサブクラス)。私は、全体のクエリをしようとすると、 はしかし、私が取得:
org.hibernate.QueryException: could not resolve property: zip of:
のShoppingCart:
@Entity
public class ShoppingCart {
...
@ManyToOne(fetch = FetchType.LAZY)
@JoinTable
private EndUser endUser;
}
ユーザー:
@Entity
public abstract class User {
...
}
ENDUSER:
@Entity
public class EndUser extends User {
...
@Column
private String name;
@Embeded
private AddressDetails addressDetails;
...
}
アドレスの詳細:
@Embeddable
public class AddressDetails {
...
private int zip;
...
}
なしタイプミス? – xerx593
私はチェックし、どこにもタイプミスはなかった。私は実際にその解決策を見つけました。私の答えを確認してください – user3362334
'@埋め込み 'はtypoです – Birchlabs