5.Hibernate のコレクションと関連
2005.10.11 株式会社四次元データ 瀧下 浩
Hibernate 5章 Hibernate のコレクションと関連
- 5.1. 利用できるコレクション
- 5.2. 人間クラス
- 5.3. マッピングファイル
- 5.4. テーブルの準備
- 5.5. コレクションの永続化
3章では、Book クラスという単純な POJO を用いて Hibernate の便利さに触れてもらいました。 Book クラスはいくつかのプロパティを持っているのみでした。 では、複数の本を持っている人間を表現するにはどのようにすればよいでしょうか。 この章では、別のクラスのオブジェクトをコレクションとして持つようなクラスについて説明します。
5.1 利用できるコレクション
Hibernate では、対多関連をコレクションで扱います。
Hibernate は、java.util.Map, java.util.Set,
java.util.SortedMap, java.util.SortedSet, java.util.List と任意の永続オブジェクトの配列や
基本データの配列のインスタンスを永続化できます。 これらのコレクションをプロパティとして利用する場合、マッピングファイルでは、propaty
要素ではなく、
<set>, <list>, <map>, <bag>,
<array>、<primitive-array> 要素によって宣言します。 ここでは、最もシンプルな set
要素について解説していきます。
5.2 人間クラス
まずは、本を所有する人間クラスを作成します。
/** * Person.java * TECHSCORE Java Hibernate 3章 * * Copyright (c) 2005 Four-Dimensional Data, Inc. */ package com.techscore.hibernate.chapter3; import java.util.Set; /** * 人を表すクラス */ public class Person { /** id */ private int id = -1; /** 名前 */ private String name = null; /** 所有する本 */ private Set books = null; /** * @return books を戻します。 */ public Set getBooks() { return books; } /** * @param books books を設定。 */ public void setBooks(Set books) { this.books = books; } /** * @return name を戻します。 */ public String getName() { return name; } /** * @param name name を設定。 */ public void setName(String name) { this.name = name; } /** * @return id を戻します。 */ public int getId() { return id; } /** * @param id id を設定。 */ public void setId(int id) { this.id = id; } }いたって普通の POJO です。