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实现猜数字游戏

    java实现猜数字游戏

    这篇文章主要为大家详细介绍了java实现猜数字游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • 教你在SpringBoot中管理多环境配置文件

    教你在SpringBoot中管理多环境配置文件

    在项目开发中,一般会分为开发环境,测试环境和生产环境.如果总是在一个文件中修修改改,难免会出现错误,尤其是在交接的过程中,一旦出现问题,轻则丢失绩效,重则需要删库跑路.本文则带大家详细了解怎么管理多环境配置文件,需要的朋友可以参考下
    2021-05-05
  • Mybatis 如何开启控制台打印sql语句

    Mybatis 如何开启控制台打印sql语句

    这篇文章主要介绍了Mybatis 如何开启控制台打印sql语句问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Spring中的EurekaServer启动详解

    Spring中的EurekaServer启动详解

    这篇文章主要介绍了Spring中的EurekaServer启动详解,初始化eureka,包含eureka集群的同步和发布注册,这个方法时重写ServletContextListener#contextInitialized,是eureka启动的入口了,需要的朋友可以参考下
    2023-11-11
  • Spring启动时实现初始化有哪些方式?

    Spring启动时实现初始化有哪些方式?

    今天给大家带来的文章是关于Spring的相关知识,文章围绕着Spring启动时实现初始化有哪些方式展开,文中有非常详细的介绍,需要的朋友可以参考下
    2021-06-06
  • 基于Spring Security前后端分离的权限控制系统问题

    基于Spring Security前后端分离的权限控制系统问题

    本文给大家分享基于Spring Security前后端分离的权限控制系统问题,需要了解权限如何加载,权限匹配规则和登录的实现代码,对Spring Security权限控制系统相关知识感兴趣的朋友一起看看吧
    2021-06-06
  • 【java 多线程】守护线程与非守护线程的详解

    【java 多线程】守护线程与非守护线程的详解

    这篇文章主要介绍了java守护线程与非守护线程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Spring Boot开启远程调试的方法

    Spring Boot开启远程调试的方法

    这篇文章主要介绍了Spring Boot开启远程调试的方法,帮助大家更好的理解和使用Spring Boot框架,感兴趣的朋友可以了解下
    2020-10-10
  • Spring Security6 最新版配置及实现动态权限管理

    Spring Security6 最新版配置及实现动态权限管理

    Spring Security 在最近几个版本中配置的写法都有一些变化,很多常见的方法都废弃了,并且将在未来的 Spring Security7 中移除,因此又补充了一些新的内容,重新发一下,供各位使用 Spring Security 的小伙伴们参考,需要的朋友可以参考下
    2024-03-03
  • SpringBoot获取当前运行环境三种方式小结

    SpringBoot获取当前运行环境三种方式小结

    在使用SpringBoot过程中,我们只需要引入相关依赖,然后在main方法中调用SpringBootApplication.run(应用程序启动类.class)方法即可,那么SpringBoot是如何获取当前运行环境呢,接下来由小编给大家介绍一下SpringBoot获取当前运行环境三种方式,需要的朋友可以参考下
    2024-01-01

最新评论