Heim  >  Artikel  >  Java  >  Stellen Sie zwei Möglichkeiten vor, um rekursive Abfragen zu verhindern

Stellen Sie zwei Möglichkeiten vor, um rekursive Abfragen zu verhindern

零下一度
零下一度Original
2017-06-17 11:58:242001Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich zwei Möglichkeiten vor, rekursive Abfragen in Spring Boot zu verhindern. Die beiden Methoden bestehen darin, in application.properties zu konfigurieren und Kommentare hinzuzufügen Beispielcode. Freunde, die ihn benötigen, können einen Blick unten werfen.

Dieser Artikel stellt Ihnen hauptsächlich den relevanten Inhalt zur Verhinderung rekursiver Abfragen vor. Hier gibt es zwei Möglichkeiten, die sehr einfach sind:

1. Konfigurieren Sie application.properties


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

2. Fügen Sie Anmerkungen in der Entität hinzu

  • Fügen Sie @JsonBackReference

  • zum zugehörigen
  • -Objekt

    hinzu, fügen Sie @JsonIgnoreProperties("roles") zur Klasse hinzu und füllen Sie die Klammern mit den Objekten aus, die nicht gefunden werden müssen


@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<>();
 ......
}

Das obige ist der detaillierte Inhalt vonStellen Sie zwei Möglichkeiten vor, um rekursive Abfragen zu verhindern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn