我想從具有三列的組合主鍵的視圖中獲取記錄列表。org.hibernate.QueryException:無法解析屬性:查詢中的組合鍵
我試圖在entity class
中嵌入composite key
。但是我收到了下面提到的錯誤。視圖的列(VW_ALERTS)是C_ID
,MAT_ID
,P_MONTH
,CO_TYPE
,CO_SUBTYPE
。
這裏的複合鍵是C_ID, MAT_ID, P_MONTH
。我在嵌入式課堂上讓他們成爲他們的財產。
請幫助解決這個下面的代碼是用來執行HQL問題
org.hibernate.QueryException: could not resolve property: coreId of: com.sp.cpem.dto.VwAlerts [FROM com.ct.cpem.dto.VwAlerts d ORDER BY d.cId ASC]
。
Session session = sessionFactory.openSession();
String hql = "FROM VwAlerts d ORDER BY d.coId ASC";
Query query = session.createQuery(hql);
return query.list();
實體類:
@SuppressWarnings("unchecked")
@Entity
@Table(schema = "TIGER", name = "VW_ALERTS")
public class VwAlerts {
@Embedded
private VwAlertsPK vwAlertsPK;
@Basic
@Column(name = "CO_TYPE", nullable = true)
private String coType;
@Basic
@Column(name = "CO_SUBTYPE", nullable = true)
private String coSubType;
類用於獲取組合鍵
@Embeddable
public class VwAlertsPK implements Serializable {
@Basic
@Column(name = "C_ID", nullable = false)
private BigDecimal cId;
@Basic
@Column(name = "MAT_ID", nullable = true)
private BigDecimal matId;
@Basic
@Column(name = "P_MONTH", nullable = true)
private BigDecimal pMonth;
我期待從視圖中的所有記錄。 我嘗試使用實體類中的@Id
列,它僅通過返回視圖中第一行的重複記錄而失敗。
是否有任何缺失的字段可以在發佈時在類VwAlerts和VwAlertsPK中跳過? – 2014-10-31 05:17:16