JPA中怎么使用entityManager执行SQL并指定返回类型

这篇文章将为大家详细讲解有关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为值

关于“JPA中怎么使用entityManager执行SQL并指定返回类型”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。