JPA如何使用entityManager执行SQL并指定返回类型
作者:yuru974882032
这篇文章主要介绍了JPA使用entityManager执行SQL并指定返回类型的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
下面是代码
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为值
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。