zoukankan      html  css  js  c++  java
  • spring boot 多线程 could not initialize proxy

    场景:

    在controller里面调用多线程,多线程中有获取对象中的对象(已配置懒加载),结果报could not initialize proxy - no Session。

    第一个想到的就是 openSessionInView,网上找了一下spring boot如何开启,于是就试了下面的方式,

    配置文件加

      spring.jpa.open-in-view=true,

    启动类加

      @Bean
      public OpenEntityManagerInViewFilter openEntityManagerInViewFilter(){
        return new OpenEntityManagerInViewFilter();
      }

    结果都不顶用

     最后实在没有办法,想到在controller里面get一次要懒加载的实体,结果成了,但总感觉不是最完美的解决方案,又找了很久,在国外的一篇文章中找到线索。

     试试在service层的查询方法上面加上@Transactional(readOnly=true)  注解,结果成了,大喜~~~

  • 相关阅读:
    CFgym102394I
    Infinite Fraction Path (后缀数组)
    2016ACM/ICPC亚洲区沈阳站-重现赛
    2sat学习笔记
    bzoj4176
    bzoj3309
    6C
    3U
    3T
    3R
  • 原文地址:https://www.cnblogs.com/mumu9008/p/10108154.html
Copyright © 2011-2022 走看看