Eclipseを使用して既存のmysqlデータベースでHibernateを使用しようとしています。
テーブルをクラスにマッピングし、クエリを実行することに成功しました。しかし、私は1対多の関係に問題があります。
テーブル「CARATTERISTICHE」(属性)があります。これは、実際には、結合テーブル「VALORI」(値)「fk_child」「fk_parent」によって記述されたツリーです。
クラスCaratteristicaには、タイプが「children」のフィールドList<Caratteristica>
があり、子供はCARATTERISTICAおよびVALORIと結合する必要があります。
私の最初の試みは、pojo Caratteristicaを作成し、Eclipseに休止状態の構成ファイルを生成させることでした。
getChildrenを起動すると、取得したオブジェクトはすべて同じオブジェクトであるため、これは機能しません(つまり、すべてのノードが父親であり、データベースではfalseです)。
これは、生成されたxmlの抜粋です。
<class name="model.Caratteristica" table="caratteristiche">
<id name="id" type="java.lang.Integer">
<column name="ID"/>
<generator class="assigned"/>
</id>
<set access="field" lazy="true" name="children"
sort="unsorted" table="valori">
<key>
<column name="id"/>
</key>
<one-to-many class="model.Caratteristica"/>
</set>
列キーをidからfk_childに変更すると、テーブル「CARATTERISTICHE」でfk_childが見つからないことに注意してください(ただし、VALORIで表示されるはずですよね?)
また、テーブルからpojoを生成しようとしましたが、さらに悪いです。多分、この問題はHibernate-複合キー構成にありますが、Hibernateを使用するのは初めてで、本当に迷っています。