例子爲學生可以有多本圖書
package bean;
import java.util.Set;
public class Student {
private int id;
private String meno;
private String name;
private Set books = new HashSet();
public Student()
{
}
public Set getBooks() {
return books;
}
public void setBooks(Set books) {
this.books = books;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getMeno() {
return meno;
}
public void setMeno(String meno) {
this.meno = meno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package bean;
public class Book {
private int id;
private String title;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
下面分別是他們各自的hbm.xml文件定義內容
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="bean.Student" table="ZQTEST_STUDENT">
<id name="id" column="ID" type="int">
<generator class="increment"/>
</id>
<property name="name" column="STU_NAME" type="string" not-null="true"/>
<property name="meno" column="MENO" type="string" not-null="true"/>
<set name="books" cascade="all">
<key column="stu_id"/> <!--我們在book.java中並不用定義一個stu_id的屬性-->
<one-to-many class="bean.Book"/>
</set>
</class>
</hibernate-mapping>
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="bean.Book" table="ZQTEST_BOOK">
<id name="id" column="ID" type="int">
<generator class="increment"/>
</id>
<property name="title" column="TITLE" type="string" not-null="false"/>
</class>
</hibernate-mapping>