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>

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其实就是Map,Key为列名 Value为值

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(JPA如何使用entityManager执行SQL并指定返回类型)