私はエンティティを持っています:
@Entity
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column
private String title;
@OneToMany(fetch = FetchType.LAZY, mappedBy = ("movie"),cascade = CascadeType.ALL)
private List<Genre> genre;
}
次に、本を取得することを目的としたコントローラーがあります。私の問題は、コントローラーのjson応答にジャンルフィールドが含まれていることです。ジャクソンがオブジェクトをシリアル化するときに遅延ロードされるフィールドを除外する方法はありますか?
これは私の ObjectMapper の構成です:
Hibernate4Module hm = new Hibernate4Module();
hm.configure(Hibernate4Module.Feature.FORCE_LAZY_LOADING, false);
registerModule(hm);
configure(SerializationFeature.INDENT_OUTPUT, true);
ありがとう!
シリアライゼーションボックスから永久に取り出されるため、JsonIgnore としてマークすることはできません。本と一緒にジャンルを取得する必要がある場合もありますが、それまでにクエリで "fetch join" を使用して null にならないようにします。