OA项目之重温一对多关联映射
来源:互联网 发布:上海java架构师 编辑:程序博客网 时间:2024/05/19 02:30
和多对一关联映射是非常相似的,并且,都是在多的一端加外键。不同的是,多对一是在多端维护,而一对多是在一端维护关系。
例如,Person和Orgnization,在多对一中是在Person中维护关系;而一对多是在Orgnization端维护关系。
实体设计中,要在Orgnization的一端加上set用来放置多个Person。
实体Orgnization:
public class Orgnization {private int id;private String name;private String sn;private String description;private Set person;}
实体Person:
public class Person {private int id;private String name;private String sex;private String address;private String duty;private String phone;private String description;}
Hbm.xml文件:
Orgnization.hbm.xml
<hibernate-mapping> <class table="T_Orgnization" name="com.oa.model.Orgnization"> <id access="field" name="id"> <generator class="native"/> </id> <property name="name" access="field"/> <property name="sn" access="field"/> <property name="description" access="field"/> <set access="field" lazy="false" inverse="true" name="person"> <key column="pid"/> <one-to-many class="com.oa.model.Person"/> </set> </class> </hibernate-mapping>Person.hbm.xml
<hibernate-mapping> <class table="T_Person" name="com.oa.model.Person"> <id access="field" name="id"> <generator class="native"/> </id> <property name="name" access="field"/> <property name="sex" access="field"/> <property name="address" access="field"/> <property name="duty" access="field"/> <property name="phone" access="field"/> <property name="description" access="field"/> </class></hibernate-mapping>
这样的配置,就实现了一对多的关联
在保存的时候,应该先保存Person,在把Person设置到Orgnization的set中,最后保存Orgnization
Set set = new HashSet();Person p1 = new Person();p1.setName("p1");session.save(p1);set.add(p1);Person p2 = new Person();p2.setName("p2");session.save(p2);set.add(p2);Orgnization org = new Orgnization();org.setName("org");org.setChildren(set);session.save(org);这里可能会有点小问题,保存Orgnization的时候,会发多条语句,影响效率,在以后的文章中,我们会介绍如何避免这个问题,这里不再赘述。
3 0
- OA项目之重温一对多关联映射
- 一对多关联映射之单向
- 一对多关联映射
- 一对多关联映射(双向关联)见项目:me_one_to_many2
- Hibernate 关联映射 之 一对多单项关联 (一)
- MyBatis高级映射之-一对一(一对多)关联映射
- Hibernate 关联映射之---- 一对多双向映射
- JPA实体的映射之 一对多关联映射 和 多对一关联映射
- 11. 一对多关联映射
- Hibernate一对多关联映射
- 映射一对多关联关系
- hibernate---->一对多关联映射
- 映射一对多关联关系
- Hibernate一对多关联映射
- hibernate关联映射(一对多)
- 一对多单向关联映射
- hibernate---一对多关联映射
- 【Hibernate】一对多关联映射
- 盘点SharePoint 2013那些优秀的开发工具(中)
- LPWSTR与LPSTR转换,使用USES_CONVERSION
- ajax几种回调函数
- iReasoning MIB Browser
- ubuntu12.04初始操作
- OA项目之重温一对多关联映射
- 2014年大数据和数据分析发展趋势预测
- 12款当前最流行的信息图表制作工具
- win7下ffmpeg编译动态链接库整理
- 行为模式 (3)
- WebStorm荣获InfoWorld2014年度科技奖
- FilterDispatcher已被标注为过时解决办法
- linux vsftpd 创建虚拟用户 过程记录
- Javascript 常见陷阱及特殊用法