首頁  >  文章  >  Java  >  介紹防止遞迴查詢的兩種方式

介紹防止遞迴查詢的兩種方式

零下一度
零下一度原創
2017-06-17 11:58:242039瀏覽

這篇文章主要給大家介紹了關於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<>();
 ......
}

以上是介紹防止遞迴查詢的兩種方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn