多对一
package com.hibernate;
public class Score implements java.io.Serializable{
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
private int score;
private String type;
private Student student;
}
package com.hibernate;
import java.util.Date;
public class Student implements java.io.Serializable{
private int id;
private String name;
private String number;
private int classid;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public int getClassid() {
return classid;
}
public void setClassid(int classid) {
this.classid = classid;
}
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping >
<class name="com.hibernate.Score" table="score">
<id name="id">
<generator class="native"/>
</id>
<property name="score" />
<property name="type"></property>
<many-to-one name="student">
<column name="sid"></column>
</many-to-one>
</class>
</hibernate-mapping>
多对一基于外键单向一对一
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping > <class name="com.hibernate.Student" table="Student"> <id name="id"> <generator class="native"/> </id> <property name="name" />
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping > <class name="com.hibernate.Score" table="score"> <id name="id"> <generator class="native"/> </id> <property name="score" /> <property name="type"></property> <many-to-one name="student" not-null="true" unique="true" cascade="all"> <column name="sid"></column> </many-to-one> </class> </hibernate-mapping>
<property name="number"/> <property name="classid"></property> </class> </hibernate-mapping> 基于主键单向一对一集合映射<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping > <class name="com.hibernate.Score" table="score"> <id name="id"> <generator class="foreign"> <param name="property">student</param> </generator> </id> <property name="score" /> <property name="type"></property> <one-to-one name="student" constrained="true"></one-to-one> </class> </hibernate-mapping>
List<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping > <class name="com.hibernate.Person" table="person"> <id name="id"> <generator class="native"> </generator> </id> <property name="name"></property> <set name="hobbies" table="hobby"> <key column="hid"></key> <element type="string" column="hobbies" not-null="true"></element> </set> </class> </hibernate-mapping>
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping > <class name="com.hibernate.Person" table="person"> <id name="id"> <generator class="native"> </generator> </id> <property name="name"></property> <list name="hobbies" table="hobby" lazy="true"> <key column="hid"></key> <list-index column="posistion"></list-index> <element type="string" column="hobbies" not-null="true"></element> </list> </class> </hibernate-mapping>
Map<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping > <class name="com.hibernate.Person" table="person"> <id name="id"> <generator class="native"> </generator> </id> <property name="name"></property> <map name="hobbies" table="hobby"> <key column="hid"></key> <map-key type="int" column="hobby_id"></map-key> <element type="String"column="hobbies" not-null="true"></element> </map> </class> </hibernate-mapping>