我HQL查詢Hibernate的HQL返回任何適當的構造
select new PaymentType(o.paymentType.idPaymentType) from Order as o where o.user='1'
它拋出異常
org.hibernate.PropertyNotFoundException: no appropriate constructor in class: PaymentType
at org.hibernate.util.ReflectHelper.getConstructor(ReflectHelper.java:187)
at org.hibernate.hql.classic.QueryTranslatorImpl.renderSQL(QueryTranslatorImpl.java:631)
at org.hibernate.hql.classic.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:220)
at org.hibernate.hql.classic.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:185)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
以下但我已經宣佈需要構造,除了這個,還有宣佈與不同的其他樹的構造數量和類型的參數,也沒有參數構造函數。
public PaymentType(Integer idPaymentType) {
this.idPaymentType = idPaymentType;
}
編輯:
public class Order implements java.io.Serializable {
private Integer idOrder;
private PaymentType paymentType;
private DeliveryType deliveryType;
...
}
感謝您的建議。 #1不工作。 #2如何獲得'o.paymentType.idPaymentType'類型。 – misco 2013-02-17 02:44:34
你可以附上Order.java的代碼嗎?我假設有一個名爲** paymentType **的字段。 ** PaymentType.java **中的** idPaymentType **字段的類型是什麼? – spiritwalker 2013-02-17 02:54:33
我編輯了它。 PaymentType的'idPaymentType'是'Integer'。 – misco 2013-02-17 03:00:48