SpringBoot2 JPA解决懒加载异常的问题

 更新时间:2021年1月29日 22:08  点击:2029

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持猪先飞。如有错误或未考虑完全的地方,望不吝赐教。

[!--infotagslink--]

相关文章

  • Angular性能优化之第三方组件和懒加载技术

    这篇文章主要介绍了Angular性能优化之第三方组件和懒加载技术,对性能优化感兴趣的同学,可以参考下...2021-05-11
  • Spring Data JPA 关键字Exists的用法说明

    这篇文章主要介绍了Spring Data JPA 关键字Exists的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-10
  • JPA如何使用nativequery多表关联查询返回自定义实体类

    这篇文章主要介绍了JPA如何使用nativequery多表关联查询返回自定义实体类,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-11-18
  • 基于element-ui封装可搜索的懒加载tree组件的实现

    这篇文章主要介绍了基于element-ui封装可搜索的懒加载tree组件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-23
  • Spring JPA配置文件Eclipse报错如何解决

    这篇文章主要介绍了Spring JPA配置文件Eclipse报错如何解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-21
  • vue-router懒加载的3种方式汇总

    这篇文章主要给大家介绍了关于vue-router懒加载的3种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-28
  • springdata jpa使用Example快速实现动态查询功能

    这篇文章主要介绍了springdata jpa使用Example快速实现动态查询功能,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-11-18
  • 解决Spring Data Jpa 实体类自动创建数据库表失败问题

    这篇文章主要介绍了解决Spring Data Jpa 实体类自动创建数据库表失败问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-12
  • vue实现路由懒加载的3种方法示例

    这篇文章主要给大家介绍了关于vue实现路由懒加载的3种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-09-02
  • SpringBoot2 Jpa 批量删除功能的实现

    这篇文章主要介绍了SpringBoot2 Jpa 批量删除功能的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-29
  • JPA使用乐观锁应对高并发方式

    这篇文章主要介绍了JPA使用乐观锁应对高并发方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-15
  • SpringCloud的JPA连接PostgreSql的教程

    这篇文章主要介绍了SpringCloud的JPA接入PostgreSql 教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-06-26
  • Springboot使用Spring Data JPA实现数据库操作

    Spring Data JPA 是 Spring 基于 Spring Data 框架、在JPA 规范的基础上开发的一个框架,使用 Spring Data JPA 可以极大地简化JPA 的写法,本章我们将详细介绍在Springboot中使用 Spring Data JPA 来实现对数据库的操作...2021-06-30
  • js 图片懒加载的实现

    这篇文章主要介绍了js 图片懒加载的实现,帮助大家更好的优化自身网页,提高网页响应速度,感兴趣的朋友可以了解下...2020-10-21
  • javascript瀑布流式图片懒加载实例解析与优化

    这篇文章主要针对javascript瀑布流式图片懒加载实例进行解析与优化,感兴趣的小伙伴们可以参考一下...2016-02-26
  • 解决JPA @OneToMany及懒加载无效的问题

    这篇文章主要介绍了解决JPA @OneToMany及懒加载无效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-15
  • 前端必会的图片懒加载(三种方式)

    在我们访问一个图片展示比较多的网页时,加载速度慢很多时候正是因为图片多导致,本文主要介绍了前端必会的图片懒加载(三种方式),具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-25
  • 解决Spring JPA 使用@transaction注解时产生CGLIB代理冲突问题

    这篇文章主要介绍了解决Spring JPA 使用@transaction注解时产生CGLIB代理冲突问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-08-05
  • Spring Boot JPA Repository之existsBy查询方法失效的解决

    这篇文章主要介绍了Spring Boot JPA Repository之existsBy查询方法失效的解决方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-10
  • Android之Viewpager+Fragment实现懒加载示例

    本文介绍了Android之Viewpager+Fragment实现懒加载示例的教程,非常实用,有兴趣的同学快来看看吧 我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他...2017-07-06