Spring Bootで再帰的な検索を防ぐ2つの方法
本文では主にSpring Bootの再帰的な検索防止に関する内容を紹介します。これは小さな注意です。ここには2つの方法があります。簡単です。以下で詳しく紹介します。
1、関連オブジェクトに@Json BackReference を追加します。クラスに
以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に一定の助けをもたらすことを望んでいます。もし疑問があれば、メッセージを残して交流してください。ありがとうございます。
1、
application.properties
に配置する。
#
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
2、イベントにコメントを追加する@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<>();
......
}
締め括りをつける以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に一定の助けをもたらすことを望んでいます。もし疑問があれば、メッセージを残して交流してください。ありがとうございます。