Hibernate一對多映射

例子爲學生可以有多本圖書

 

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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章