我想从具有三列的组合主键的视图中获取记录列表。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