2012-02-21 13 views
4

hibernateで管理されている複合キーを持つエンティティクラスには、キープロパティをオブジェクト自体にフラット化する簡単な方法がありますか?私はこれのようにシリアライズされることを好むだろうジャクソンを使用してJSONオブジェクトのプロパティを簡単に平坦化する方法はありますか?

{ 
    "key": { 
     "field1": 1, 
     "field2": 2 
    }, 
    "prop": "value" 
} 

を:考える

{ 
    "field1": 1, 
    "field2": 2, 
    "prop": "value" 
} 

が、私は本当にそれが現時点で罰金だとしてJsonSerializableWithTypeを実装する必要がありますする必要はありません、それだけではですキークラスフィールドを平坦にしたい。

答えて

1

ジャクソンは反射を使用し、ゲッター/セッターを操作できます。あなたはgetKey()@JsonIgnoreを追加し、あなたにもsetField1()setField2()を実装することの二つの方法

@JsonProperty("field1") 
private int getField1() 

@JsonProperty("field2") 
private int getField2() 

を追加することができます。

+0

もちろん、なぜ私はそれを考えなかったのですか?オブジェクトが読み込み専用なのでセッターの必要はありません。さらに、PKの変更は悪い考えです。 :) –

関連する問題