springboot 解决懒加载no session问题

2018-10-24  本文已影响54人  小知大知
package com.gq.gqrhm.pojo;

import javax.persistence.*;
import java.util.List;

@Entity
public class SysUser {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    private String username;
    private String password;
    @ManyToMany(cascade = {CascadeType.REFRESH},fetch = FetchType.LAZY)
    @JoinTable(name = "sys_user_role",joinColumns = @JoinColumn(name = "sys_user_id"),
            inverseJoinColumns = @JoinColumn(name = "role_id"))
    private List<SysRole> roleList;

}
开启懒加载
spring.jpa.open-in-view=true
    @Test
    @Transactional
    public void  testFind(){
        SysUser sysUser= repository.findById(4).get();
        System.out.println(sysUser.getRoleList());
        System.out.println(sysUser);
    }
}

总结:

1.配置文件: spring.jpa.open-in-view=true

  1. 实体类: fetch = FetchType.LAZY
  2. 查询方法:@Transactional
上一篇下一篇

猜你喜欢

热点阅读