私はHibernateを使用したJPAとともにStruts2を使用したプロジェクトに取り組んでいます。
ユーザー (id、email) と顧客 (user_id) の 2 つのエンティティがあります。すべての Customer が User であると考えるのは自然なことなので、Customer Inherit をユーザーから取得しました。エンティティの関連コードは次のとおりです。
ユーザー:
@Entity
@Table(name = "user")
@Inheritance(strategy = InheritanceType.JOINED)
public class User implements Serializable {
@Id
@GeneratedValue
private int id;
private String email;
...getters and setters...
}
お客様
@PrimaryKeyJoinColumn(name = "user_id",referencedColumnName = "id")
@NamedQueries({
@NamedQuery(name = "Customer.getByCustomerUserId", query = "SELECT C FROM Customer C where C.id=:id")
})
public class Customer extends User implements Serializable {
}
クエリCustomer.getByCustomerUserIdを実行すると、エラーが発生し続けます。
「where句」の不明な列「customer0_.id」
Id フィールドを持つ BaseEntity を作成し、そこから User Entity を継承させることで、ここでの回答に従ってみましたが、効果はありません。このエラー メッセージは引き続き表示されます。何が問題なのか教えてください。