溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

遞歸查詢?nèi)绾卫肧pring Boot來(lái)防止

發(fā)布時(shí)間:2020-11-23 16:49:46 來(lái)源:億速云 閱讀:191 作者:Leah 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)遞歸查詢?nèi)绾卫肧pring Boot來(lái)防止,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

1、在application.properties中配置

#懶加載配置
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true

2、在entity中添加注解

  • 在關(guān)聯(lián)對(duì)象上添加@JsonBackReference
  • 在類(lèi)上添加@JsonIgnoreProperties("roles") ,括號(hào)中填寫(xiě)不需要查出的對(duì)象
     
@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 //防止關(guān)系對(duì)象的遞歸訪問(wèn)
 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<>();
 ......
}

關(guān)于遞歸查詢?nèi)绾卫肧pring Boot來(lái)防止就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI