hiberntate table per subclass継承コンセプトを使用しています。それによって、子クラスを得ることが親IDですしながら、ここに私のサンプルコードhibernate継承で親IDを使用してデータを取得する方法
@Entity
@Table
@Inheritance(strategy = InheritanceType.JOINED)
public class Payment{
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column
private double amount;
}
@Entity
@Table
@PrimaryKeyJoinColumn(name = "payment_id")
public class CreditCard extends Payment{
@Column
private String CreditCardType;
}
はここで、私は不明列のような例外を取得しています「where句」に「this_.id」。私のクエリは、識別子プロパティはid
として命名されたあなたの親クラスで
List<CreditCard> creditCardList =
getSessionFactory().getCurrentSession().createCriteria(CreditCard.class,
"card").add(Restrictions.eq("card.id", id)).list();
を明示的マッピングでカラム名を言及していません。これは、DB内の列名が各クラスのプロパティと同じでない場合に必要です。 – Ubercool
ご回答いただきありがとうございます。しかし、列名はプロパティ名と同じです –