2017-04-11 5 views
0

私は別のクラスとManytoOneの関係を持つhibernate pojoクラスを持っています。Marshall OnetoManyの関係を持つhibernateのpojoクラス

class Employee {   
    @OneToMany 
     private String id; 
    } 

class ITEmployee { 
private Employee employee; 

@ManyToOne 
@JoinColumn(name="EMPLOYEE_ID) 
    public Emplyee getEmployee() { 
    return employee; 
    } 

} 

は、今私は、私は、各オブジェクト内EmployeeクラスとITEmployeeクラスのネストされたオブジェクトを取得し、JSON/XMLのREST応答に行マーシャルを取得するとき。

例えば、

{ "ITEmployee" と同様:[{ "ID":1234、 "従業員":[{ "ID":222、 "ITEmployee":{ "ID":1234、 "従業員" :[{"" id ":222、" Employee ":[{" "id":222、 "ITEmployee":。 ..

など。

マーシャリング中にManytoOne関係を無視するにはどうすればよいですか?

別のクラスを作成して別々にマップしたくないです。

@ JsonIgnoreと@Transientを使ってみましたが、うまくいきませんでした。

REST API:JAX-RS 乾杯!

答えて

1

ジャクソンにいくつかのフィールドをマーシャルしないように指示できます。 複数の選択肢があります。最も簡単なのは、従業員フィールドで@JsonIgnore注釈を使用することです。

さらに高度な機能が必要な場合は、@JsonViewを確認できます。

EDIT:既に@JsonIgnoreを使用しようとしています。あなたのコードを貼り付けることはできますか?プリンシペではそれは機能しなければならない。

+0

使用されるインポートorg.codehaus.jackson.annotate.JsonIgnore; org.fasterxml.jackson.annotate.JsonIgnoreをインポートする代わりに。それは今働いています。 –

関連する問題