0
我實際上需要使用JPQL查詢數據庫。我沒有找到任何方式返回對象列表列表。在下面的鏈接http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html#queryhql-select有可能返回列表Object[]
,但我不知道如何使它適合我需要返回的類型,這是List對象列表。感謝您的幫助。JPQL查詢的返回類型
我實際上需要使用JPQL查詢數據庫。我沒有找到任何方式返回對象列表列表。在下面的鏈接http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html#queryhql-select有可能返回列表Object[]
,但我不知道如何使它適合我需要返回的類型,這是List對象列表。感謝您的幫助。JPQL查詢的返回類型
要創建一個對象從查詢首先你必須創建一個你想要得到的字段的一類,例如:
package com.my.package;
public class MyObject {
private String fieldOne;
private String fieldTwo;
public MyObject(String fieldOne, String fieldTwo) {
this.fieldOne = fieldOne;
this.fieldTwo = fieldTwo;
}
// Other methods...
}
然後你jpql
查詢這些特定領域會是什麼樣子:
SELECT new com.my.package.MyObject(t.fieldOne, t.fieldTwo) FROM MyTable t
您可以使用@Query
註解這樣使用它在你的倉庫:
@Query("SELECT new com.my.package.MyObject(t.fieldOne, t.fieldTwo) FROM MyTable t")
List<MyObject> findMyObjects();
或者使用EntityManager
:
EntityManager entityManager = ...;
entityManager
.createQuery("SELECT new com.my.package.MyObject(t.fieldOne, t.fieldTwo) FROM MyTable t", MyObject.class)
.getResultList();
謝謝你,你給我從建設什麼查詢返回的對象更廣泛的方式,我需要做的這_「選擇新的列表(t.fieldOne,t.fieldTwo) FROM MyTable t「_ – saadoune