Hibernate各种映射关系总结
2009-10-30 00:00:00 来源:WEB开发网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.
- ››Hibernate高级应用:性能优化策略
- ››hibernate 多对多关系详解(包括中间表,一对多字表...
- ››Hibernate实现mysql数据库limit查询方法
- ››各种SmartPhone上的跨平台开源框架的总结
- ››各种进程保护方法的比较
- ››Hibernate 之父:是时候升级到Java EE 6了
- ››Hibernate查询
- ››Hibernate和iBATIS比较(摘自网络)
- ››Hibernate使用Projections进行聚合操作
- ››hibernate中java.util.Date类型映射
- ››hibernate中update与saveOrUpdate的区别
- ››各种数据库连接java的驱动名和语句
更多精彩
赞助商链接