Hibernateを使用してJavaObjectPersistenceを実装する方法を学習しようとしています。具体的には、単方向の1対多マッピングを実装する方法を理解しようとしています。私は休止状態のドキュメントとこのテーマに関する多数のStackoverflowの質問を読みましたが、それらは完全には明確ではないので、これを実装する正しい方法を知りたいと思います。
これは、私がマップしようとしている種類のJavaオブジェクトの(非常に単純化された)例です。
public class Student {
private List<StudentGrade> grades;
}
public class StudentGrade {
private char letterGrade;
private double percentageGrade;
}
だから問題は、これをマップするためにhbm.xmlファイルをどのように書くのですか?
休止状態のドキュメントは、Studentのマッピングファイルに配置されたこれで十分であることを示しています。もちろん、StudentとStudentGradeの両方のマッピングファイルを完全に肉付けしたと仮定します。
<many-to-one name="StudentGrade" column="grade_id" />
ただし、マッピングファイルのみが表示され、それに付随するJavaオブジェクトは表示されません。マッピングファイルには、その多対1の要素が他のプロパティとともに一覧表示されます。リストまたはセット要素には含まれていません。コレクション(例ではHashTableとして実装されたセット)を使用するJavaオブジェクトが表示される他の場所には、次のようなマッピングファイルがあります。
<set name="events" table="PERSON_EVENT">
<key column="PERSON_ID"/>
<many-to-many column="EVENT_ID" class="Event"/>
</set>
それは私が多くのStackOverflowの質問で見たものでもあります。では、これを実装する正しい方法は何ですか?