下面是代码
Query query = entityManager.createNativeQuery(yourSql);
//指定返回类型
query.unwrap(SQLQuery.class).setResultTransformer(Transformers.aliasToBean(yourClass));
//获取返回集合
List resultList = query.getResultList();
注:此方法不支持枚举类的自动转型,需要在entity中改一下枚举类的set方法。
如下:
//此处传入String类型
public void setCheckResult(String checkResult) {
//调用枚举类的valueOf方法
this.checkResult = CheckResultEnum.valueOf(checkResult);
}
jpa 使用entitymanager查询表并返回List<Map<Column,Value>>
entityManager通过Spring自动注入
var query = entityManager.createNativeQuery(sql)
import org.hibernate.SQLQuery
import org.hibernate.transform.Transformers
query.unwrap(classOf[SQLQuery]).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)
query.getResultList
这里返回的是List<Object> Object其实就是Map,Key为列名 Value为值
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。