Spring Boot中防止递归查询的两种方式

 更新时间:2017年06月09日 10:33:24   作者:疯狂的米老鼠  
这篇文章主要给大家介绍了关于Spring Boot中防止递归查询的两种方式,两种方式分别是在application.properties中配置和在entity中添加注解,都给出了详细的示例代码,需要的朋友们下面来一起看看吧。

本文主要给大家介绍了关于Spring Boot防止递归查询的相关内容,这只是一个小提醒,这里有两种方式,很简单,下面来看看详细的介绍:

1、在application.properties中配置

#懒加载配置
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true

2、在entity中添加注解

  • 在关联对象上添加@JsonBackReference
  • 在类上添加@JsonIgnoreProperties("roles") ,括号中填写不需要查出的对象
@Entity
@Table(name = "users")
//@JsonIgnoreProperties("roles")
public class User implements Serializable {
 @GeneratedValue(strategy = GenerationType.IDENTITY)
 @Id
 private int id;
 @Column
 private String name;
 @Column(name = "created_at")
 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 private Date createdAt;
 @ManyToOne
 @JoinColumn(name = "dep_id")
 @JsonBackReference //防止关系对象的递归访问
 private Department department;
 @ManyToMany(cascade = {}, fetch = FetchType.EAGER)
 @JoinTable(name = "user_role", joinColumns = {@JoinColumn(name = "user_id")}, inverseJoinColumns = {@JoinColumn(name = "role_id")})
 @JsonBackReference
 private List<Role> roles = new ArrayList<>();
 ......
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Java transient 关键字是干啥的

    Java transient 关键字是干啥的

    这篇文章主要介绍了Java transient 关键字是干啥的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 使用Mybatis时SqlSessionFactory对象总是报空指针

    使用Mybatis时SqlSessionFactory对象总是报空指针

    本文主要介绍了使用Mybatis时SqlSessionFactory对象总是报空指针,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • struts2自定义MVC框架

    struts2自定义MVC框架

    这篇文章主要为大家详细介绍了struts2如何自定义MVC框架,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Java构造器方法深入理解

    Java构造器方法深入理解

    这篇文章主要介绍了Java构造器方法深入理解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • java中HashSet的特点及实例用法

    java中HashSet的特点及实例用法

    在本篇文章里小编给大家整理的是一篇关于java中HashSet的特点及实例用法,有兴趣的朋友们可以学习下。
    2021-04-04
  • MyBatis动态<if>标签使用避坑指南

    MyBatis动态<if>标签使用避坑指南

    这篇文章主要为大家介绍了MyBatis动态<if>标签使用避坑指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • springboot整合shiro的过程详解

    springboot整合shiro的过程详解

    Shiro 是一个强大的简单易用的 Java 安全框架,主要用来更便捷的 认证,授权,加密,会话管理,这篇文章给大家详细介绍Shiro 工作原理及架构图,通过实例图文相结合给大家介绍的非常详细,需要的朋友参考下吧
    2021-10-10
  • Java 程序设计总复习题(java基础代码)

    Java 程序设计总复习题(java基础代码)

    这篇文章主要介绍了Java 程序设计总复习题,主要是java基础代码,方便学习java的同学
    2021-05-05
  • MyBatis-Plus非表字段的三种处理方法小结

    MyBatis-Plus非表字段的三种处理方法小结

    这篇文章主要介绍了MyBatis-Plus非表字段的三种处理方法小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java中锁的实现和内存语义浅析

    Java中锁的实现和内存语义浅析

    这篇文章主要给大家介绍了关于Java中锁的实现和内存语义的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11

最新评论