Expert と Technology という名前の 2 つのクラスがあります。Expert は複数のテクノロジをマイトライズできます。テクノロジは複数のエキスパートによってマトライズされます。テクノロジーの追加、更新はクラス Expert とは独立しています。熟練した技術を専門家から削除し、関連する関係のみを削除します。
Class Expert{
Long id; // getter and setter
String name; // getter and setter;
Set<Technology> technos; // getter and setter
}
Technology{
Long id; // gettter and setter
String name; //getter and setter
}
休止状態のマッピングに反映される 2 つのクラス間の関係は次のとおりです。
<class name="Expert">
<!-- put the declaration for id and name -->
<set name="technos" table="EXPERT_TECHNO" cascade="delete-orphan">
<key column="id_expert"/>
<many-to-many column="id_techno" class = "Technology"/>
</set>
</class>
<class name="Technology">
<!-- put declaration for id and name-->
</class>
これで、テクノロジーのインスタンスができました。テクノロジーを調整するすべての専門家を見つけたいので、休止状態の条件を使用して結果セットを取得する方法を教えてください。または、createQuery を使用して結果セットを取得する最も簡単な方法です。
私は休止状態の基準メソッドに慣れていないので、あなたの助けを求めます!
さらなる質問:
エキスパートからテクノロジーを削除したいときは、テーブル「EXPET_TECHNO」の行を削除するだけですが、expert.getTechnos.remove(techno)がテーブルからテクノロジーを削除します。持ちたくないもの!