2017-06-01 20 views
0

ネストされたオブジェクトのドーザマッピングのために苦労しています。オブジェクトフィールドをこのオブジェクトの子フィールドにマップしたいと思います。たとえば私はこれらのクラスを持っています。親フィールドからネスト/子フィールドへのドーザマッピング

class Parent { 
    private Child child; 
    private Long childId; 

    // setter - getter 
} 

class Child { 
    private Long id; 

    // setter - getter 
} 

と私のマッピングは次のとおりです。この設定により、

</mappings> 
<configuration> 
    <map-null>false</map-null> 
</configuration> 
<mapping> 
    <class-a>com.indraep.Parent</class-a> 
    <class-b>com.indraep.Parent</class-b> 

    <field> 
     <a>childId</a> 
     <b>child.id</b> 
    </field> 
</mapping> 
</mappings> 

、私はParent.child.idにParent.childIdをマッピングすることはできません。

<field> 
    <a>childId</a> 
    <b>child.id</b> 
</field> 

任意のアイデアどのようにこの問題を解決するために:私はこのマッピングを使用してParent.childIdへParent.child.idから反対マップをしようとした場合

は、しかしそれは動作しますか?それともドーザーと一緒にできないのですか?私はこのフィールドを追加することで解決策を見つけた

答えて

0

は設定除外:ログから

<field-exclude> 
    <a>child</a> 
    <b>child</b> 
</field-exclude> 

を、それはドーザがParent.childIdをマッピングしているようだ - > Parent.child.idは、しかし、次のステップでは、オーバーライドを取得しますParent.child - > Parent.childによって、Parent.childはnullになります。

もう1つの問題は、Childクラスにいくつかのフィールドがあり、それをマップする必要があることです(Parent.childIdからマップされたchild.idを除く)。これを解決する方法は?

関連する問題