SpringBoot2 JPA解决懒加载异常的问题
时间:2021-04-04 10:15:20|栏目:JAVA代码|点击: 次
jpa解决懒加载异常
在我上一遍文章上进行行修改,SpringBoot2 实现JPA分页和排序分页
实体类上改:
@Entity
@Table(name = "employee")
@JsonIgnoreProperties(value={"hibernateLazyInitializer", "department"})
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer empId;
private String lastName;
private String email;
@Temporal(TemporalType.DATE)
private Date birth;
@Temporal(TemporalType.TIMESTAMP)
private Date createTime;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "dept_id")
private Department department;
public Integer getEmpId() {
return empId;
}
public void setEmpId(Integer empId) {
this.empId = empId;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
}
控制器验证
import java.util.Iterator;
@RestController
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@GetMapping("/emp")
public Page<Employee> showPage(@RequestParam(value = "page") Integer page, @RequestParam(value = "size") Integer size){
System.out.println("分页: page:"+page+"; size:"+size);
return employeeService.getPage(page, size);
}
@GetMapping("/emp_sort")
public Page<Employee> showSortPage(@RequestParam(value = "page") Integer page, @RequestParam(value = "size") Integer size){
System.out.println("排序分页: page:"+page+"; size:"+size);
Page<Employee> list = employeeService.getPageSort(page, size);
Iterator<Employee> it=list.iterator();
while(it.hasNext()){
System.out.println("value:"+(it.next()).getDepartment().getDeptName());
}
return list;
}
}
我大概实现了一下,具体的如果大佬找到更好的方法或者发现我的方法是错的,希望各位大佬提醒一下!感谢!
补充:SpringBoot jpa 使用懒加载时,报异常:session失效
报异常:
could not initialize proxy - no Session
1、在方法上加@Transactional 注解,失败
2、在application.yml 文件加上jpa.properties.open-in-view: true 失败
3、在ResourceServerApplication.java 启动文件中加上:
@Bean
public OpenEntityManagerInViewFilter openEntityManagerInViewFilter() {
return new OpenEntityManagerInViewFilter();
}
成功解决~
总结:
要解决no session 问题需要:
配置文件中加jpa.properties.open-in-view: true同时在启动文件中加@Bean
上一篇:区块链常用数据库leveldb用java来实现常规操作的方法
栏 目:JAVA代码
下一篇:Java 在Excel中添加分离型饼图、环形图的方法
本文标题:SpringBoot2 JPA解决懒加载异常的问题
本文地址:http://www.codeinn.net/misctech/94351.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




