WEB开发网
开发学院软件开发Java Hibernate各种映射关系总结 阅读

Hibernate各种映射关系总结

 2009-10-30 00:00:00 来源:WEB开发网   
核心提示: 3 一对多映射1 建立对象模型Classes[id-int,name-String,student-Set]Student[id-int,name-String]2 映射文件Xml代码 <?xmlversion="1.0"?><!DOCTYPEhiberna

3 一对多映射

1  建立对象模型

Classes[id-int,name-String,student-Set]
Student[id-int,name-String]

2  映射文件

Xml代码

<?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 package="com.nintenyun.hibernate"> 
  <class name="Class" table="t_class"> 
   <id name="id"> 
    <generator class="native"/> 
   </id> 
   <property name="name" /> 
   <set name="student" > 
   <key column="classid" /> 
   <one-to-many class="Student"/> 
   </set> 
  </class> 
</hibernate-mapping>

缺点:若将Student的classid设置为非空,将无法保存。应为不是student这一端维护关系,所以student不知道是哪个班级,所以需要发出多余的update语句来更新关系。

(一对多): 先要session.sava(学生),再sessio.save(班级)

(多对一): 先要session.sava(班级),再sessio.save(学生)

改进 采用 一对多双向关联

Xml代码

<set name="student" inverse="true">  
  <set name="student" inverse="true">

这样的好处是 存入数据让多的一端进行维护,不需要发出多余的update.

上一页  1 2 3 4 5 6 7  下一页

Tags:Hibernate 各种 映射

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接