3

私は次のようなものを持っています:

@Entity
@Table(name = "myEntity")
public class MyEntity {
  //....

  @Column(name = "content")
  private byte[] content;
  //....
}

問題: MyEntityを JSON 文字列としてクライアントに渡します。しかし、問題は、2 種類のクライアントの要求があることです。

  1. MyEntity byte[] コンテンツ配列で渡す必要があります
  2. byte[] コンテンツ配列なしで MyEntity を渡す必要があります

最初のケースでは @JsonIgnore アノテーションは必要ありませんが、2 番目のケースでは必要です。

質問:

  1. 動的@JsonIgnoreアノテーションを達成するには? それはまったく可能ですか?
  2. 遅延読み込みを実現するための代替手段はありますか?

PS私が理解しているように、バイト[]コンテンツ配列を遅延読み込みアノテーションでマークしても、JacksonがMyEntityをJSON文字列に解析するときにロードされます。

前もって感謝します!

4

2 に答える 2

1

私の知る限り、jackson にオンデマンドでプロパティを遅延読み込みさせることは不可能です。おそらく別の方法は、別の値オブジェクトを作成することです。必要なプロパティをコピーして、不要なものをドロップするだけです。

于 2013-07-29T13:10:33.837 に答える