JPA如何使用entityManager執(zhí)行SQL并指定返回類型
下面是代碼
Query query = entityManager.createNativeQuery(yourSql); //指定返回類型 query.unwrap(SQLQuery.class).setResultTransformer(Transformers.aliasToBean(yourClass)); //獲取返回集合 List resultList = query.getResultList();
注:此方法不支持枚舉類的自動轉(zhuǎn)型,需要在entity中改一下枚舉類的set方法。
如下:
//此處傳入String類型 public void setCheckResult(String checkResult) { //調(diào)用枚舉類的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其實(shí)就是Map,Key為列名 Value為值
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Security賬戶與密碼驗(yàn)證實(shí)現(xiàn)過程
這篇文章主要介紹了Spring Security賬戶與密碼驗(yàn)證實(shí)現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-03-03如何在 Java 中實(shí)現(xiàn)一個 redis 緩存服務(wù)
為什么要使用緩存?說到底是為了提高系統(tǒng)的運(yùn)行速度。將用戶頻繁訪問的內(nèi)容存放在離用戶最近,訪問速度最快的地方,提高用戶的響應(yīng)速度。下面我們來一起深入學(xué)習(xí)一下吧2019-06-06詳解java動態(tài)代理的2種實(shí)現(xiàn)方式
目前Java開發(fā)包中包含了對動態(tài)代理的支持,但是其實(shí)現(xiàn)只支持對接口的的實(shí)現(xiàn)。這篇文章主要介紹了詳解java動態(tài)代理的2種實(shí)現(xiàn)方式 ,有興趣的可以了解一下。2016-11-11SpringCloud Gateway加載斷言predicates與過濾器filters的源碼分析
這篇文章主要介紹了SpringCloud Gateway加載斷言predicates與過濾器filters的詳細(xì)過程,本文通過源碼給大家解析的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05SpringAOP切點(diǎn)函數(shù)實(shí)現(xiàn)原理詳解
這篇文章主要介紹了SpringAOP切點(diǎn)函數(shù)實(shí)現(xiàn)原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05spring-cloud-gateway動態(tài)路由的實(shí)現(xiàn)方法
這篇文章主要介紹了spring-cloud-gateway動態(tài)路由的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01