Jpa no session 问题解决方案
package com.zhao.system; import com.common.utils.IdWorker; import com.common.utils.JwtUtils; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.context.annotation.Bean; import org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter; @SpringBootApplication(scanBasePackages = "com") @EntityScan(value = "com.domain.company.system") public class SystemApplication { public static void main(String[] args) { SpringApplication.run(SystemApplication.class,args); } @Bean public IdWorker idWorker(){ return new IdWorker(); } /** * 解决jpa no session 问题 * 在java对象转为json数据格式的时候,对象中的属性,因为jpa加载策略为延迟加载。在controller中转对象中属性为json数据,通过代理对象查询数据库,此时controller中session已经关闭。 * */ @Bean public OpenEntityManagerInViewFilter openEntityManagerInViewFilter(){ return new OpenEntityManagerInViewFilter(); } @Bean public JwtUtils jwtUtils(){ return new JwtUtils(); } }
在启动类添加
@Bean public OpenEntityManagerInViewFilter openEntityManagerInViewFilter(){ return new OpenEntityManagerInViewFilter(); }

浙公网安备 33010602011771号