最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JPA延遲加載no Session報錯解決分析

 更新時間:2023年09月11日 14:49:31   作者:土豆肉絲蓋澆飯  
這篇文章主要為大家介紹了JPA延遲加載no Session報錯解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

異常展示

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ****, could not initialize proxy - no Session
    at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:582)
    at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:201)
    at org.hibernate.collection.internal.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:145)
    at org.hibernate.collection.internal.PersistentBag.size(PersistentBag.java:261)

問題原因

觸發(fā)延遲加載的時候,session已經(jīng)失效

延遲加載原理

通過cglib對目標Entity實現(xiàn)代理,針對配置了延遲加載的屬性,修改對應get方法的邏輯,植入延遲加載邏輯

解決方式

  • 不使用延遲加載
  • 延遲加載的時候session活躍

我們本來就想使用延遲加載來提高性能的,不使用延遲加載只是你逃避問題的方式!!要用延遲加載的地方必須用它?。?/strong>

如何讓延遲加載時session活躍

web項目

在springboot環(huán)境下,打開以下配置即可

spring.jpa.open-in-view=true

這個配置會通過WebMvcConfigurer配置一個OpenEntityManagerInViewInterceptor攔截器

而這個攔截器的作用。。我們看他的注釋就知道了

就是處理請求的全程都能獲取到EntityManager,其實就是能獲取到session的意思。

普通提供dubbo服務的項目

在接口方法上加上@Transactional注解即可。

@Override
@Transactional(rollbackFor = Exception.class)
public List<XXDTO> getAllXX() {
    List<XXEntity> result = xXQueryRepository.findAll();
    return XXConverter.INSTANCE.entityListToDTOList(result);
}

@Transactional會保證在所注解方法作用域內(nèi)session都生效

以上就是JPA延遲加載no Session報錯解決分析的詳細內(nèi)容,更多關于JPA延遲加載no Session報錯的資料請關注腳本之家其它相關文章!

相關文章

  • Mybatis查詢返回Map<String,Object>類型實例詳解

    Mybatis查詢返回Map<String,Object>類型實例詳解

    這篇文章主要給大家介紹了關于Mybatis查詢返回Map<String,Object>類型的相關資料,平時沒太注意怎么用,今天又遇到了總結(jié)記錄一下,方便以后處理此類問題,需要的朋友可以參考下
    2022-07-07
  • Maven 搭建SpringMVC+Hibernate項目詳解

    Maven 搭建SpringMVC+Hibernate項目詳解

    本文主要介紹Maven 搭建SpringMVC+Hibernate的知識,這里整理了詳細的資料,并附示例代碼,有興趣的小伙伴可以參考下
    2016-09-09
  • Java接口繼承和使用接口操作示例

    Java接口繼承和使用接口操作示例

    這篇文章主要介紹了Java接口繼承和使用接口操作,結(jié)合具體實例形式分析了Java接口繼承與使用的相關原理、操作技巧與注意事項,需要的朋友可以參考下
    2019-09-09
  • Java 構造方法的使用詳解

    Java 構造方法的使用詳解

    構造方法是類的一種特殊方法,用來初始化類的一個新的對象,在創(chuàng)建對象(new 運算符)之后自動調(diào)用。Java 中的每個類都有一個默認的構造方法,并且可以有一個以上的構造方法
    2021-11-11
  • Mybatis Mapper接口和xml綁定的多種方式、內(nèi)部實現(xiàn)原理和過程解析

    Mybatis Mapper接口和xml綁定的多種方式、內(nèi)部實現(xiàn)原理和過程解析

    在Mybatis中,我們需要創(chuàng)建一個與實體類對應的Mapper接口,然后在該接口上添加方法,這些方法對應著SQL語句,這篇文章主要介紹了Mybatis Mapper接口和xml綁定的多種方式、內(nèi)部實現(xiàn)原理和過程,需要的朋友可以參考下
    2023-11-11
  • IntelliJ中高效重構的10個快捷方式詳解

    IntelliJ中高效重構的10個快捷方式詳解

    這篇文章主要為大家介紹了IntelliJ中高效重構的10個快捷方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • 從SpringBoot打war包并配置外部Tomcat運行的全流程

    從SpringBoot打war包并配置外部Tomcat運行的全流程

    由于其他原因,我們需要使用SpringBoot打成war包放在外部的Tomcat中運行,本文就以一個案例來說明從SpringBoot打war包到Tomcat配置并運行的全流程經(jīng)過,需要的朋友可以參考下
    2024-06-06
  • Spring Boot整合Swagger2的完整步驟詳解

    Spring Boot整合Swagger2的完整步驟詳解

    這篇文章主要給大家介紹了關于Spring Boot整合Swagger2的完整步驟,文中通過示例代碼將整合的步驟一步步介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-07-07
  • Java中try-catch的使用及注意細節(jié)

    Java中try-catch的使用及注意細節(jié)

    現(xiàn)在有很多的語言都支持try-catch,比如常見的就是c++,java等,這篇文章主要給大家介紹了關于Java中try-catch的使用及注意細節(jié)的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • 詳解JavaFX桌面應用開發(fā)-Group(容器組)

    詳解JavaFX桌面應用開發(fā)-Group(容器組)

    這篇文章主要介紹了JavaFX桌面應用開發(fā)-Group(容器組),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論

德安县| 长岛县| 元朗区| 峨山| 克拉玛依市| 庆元县| 丹凤县| 大渡口区| 余江县| 孝昌县| 右玉县| 英德市| 潮安县| 九龙坡区| 澄城县| 吴江市| 南丰县| 上饶市| 桐柏县| 玉林市| 宜川县| 安国市| 湟源县| 喀喇沁旗| 天长市| 赤峰市| 祁连县| 双峰县| 绥棱县| 咸阳市| 鄂温| 陵川县| 秭归县| 广州市| 巴林右旗| 沙田区| 黄梅县| 卢湾区| 同仁县| 寿宁县| 昭苏县|