hibernate关系映射

多对一

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>
集合映射

<?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>
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>
       <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>
















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值