2

私はHibernateにかなり慣れていないので、複合IDとフォアキーの操作で問題が発生しています。これを機能させたいだけです。

=======    =======
 Table A    Table B
=======    =======
atr1 PK    atr1 FK(Table A, atr1) PK
atr2 PK    atr2 FK(Table A, atr2) PK
atr3       atr3 FK(Table C, atrN) PK
           atr4 

そして、その関係は次のとおりです。AにはBのインスタンスが1つもありません(それらのリスト)。BにはCのインスタンスが1つだけあります(これは今のところ問題ではありません)。

(公式チュートリアルで)クラスを使用して複合IDをポイントし、equals()とhashCode()をオーバーライドする方法について読んだことがありますが、hbm.xmlファイルの記述方法についてかなり混乱しているため、これを機能させることはできません。 ..。。

何か助けはありますか?ありがとう!

4

1 に答える 1

0

データモデルを単純化して冗長性を取り除けば、もっと幸せになるかもしれません。このようなより複雑なデータモデリングの質問でHibernateを処理すると、機能させたとしても、後でフラストレーションが生じる可能性があります。たぶん、A自体のプロパティの代わりにBに単純なA_idを与えることを検討してください(それらがAの主キーに正確にマッピングされる方法を見てください)

    ___A___
    id PK
    atr1
    atr2
    atr3
    --> composite unique(atr1, atr2)

    ___B___
    id PK
    a_id FK (A.id)
    c_id FK (C.id)
    atr4
    --> composite unique(a_id, c_id)

    ___C___
    id PK
    atrN  unique
于 2010-09-14T03:33:57.913 に答える