我使用hiberntate表按子類繼承概念。在「where子句」這裏是我的示例代碼如何在休眠繼承中使用父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;
}
這裏,同時通過它讓兒童類的父ID,我得到像未知列例外「this_.id」。我的查詢是
List<CreditCard> creditCardList =
getSessionFactory().getCurrentSession().createCriteria(CreditCard.class,
"card").add(Restrictions.eq("card.id", id)).list();
您沒有明確提及列名的映射。如果DB中的列名與各個類中的屬性不同,則這是必需的。 – Ubercool
感謝您的回覆。但列名稱與屬性名稱相同 –