[英]How to return List<Map<String, Object>> using Hibernate
我想從我的createNativeQuery().getResultList()
返回一個映射列表,其中每個映射都是一對鍵 - 表示列名的值 - 值。 我已經嘗試在這樣的方法中使用direct:
public List<Map<String, Object>> execQuery(String nativeQuery) {
return entityManager().query(nativeQuery).getResultList();
}
但它總是返回List。 有人知道我想要的是否可能?
我正在使用的JPA實現是Hibernate。 我目前正在使用Java 8(不知道這些信息是否與我的案例相關)。
歡迎任何幫助。 提前致謝。
您可以使用ResultTransformer以地圖形式轉換結果。 遵循官方文件
像這樣:
List<Map<String,Object>> mapaEntity = session .createQuery( "select e from Entity" ) .setResultTransformer(new AliasToEntityMapResultTransformer()) .list();
請試試
Query q1 = entityManager().query(nativeQuery);
org.hibernate.Query hibernateQuery =((org.hibernate.jpa.HibernateQuery)q1) .getHibernateQuery();
hibernateQuery.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.