传智播客hibernate视频教程-读书笔记2
来源:互联网 发布:c语言程序的基本单位是 编辑:程序博客网 时间:2024/05/07 06:39
14~20讲
7、多对一(Employee-Department)
Employee(id,name,depart<Department>)
Department(id,name)
Employee.hbm.xml中定义:
<many-to-one name="depart" column="depart_id"> column值表示Employee的外键,默认对应Department的主键
save时顺序无所谓,但是建议先save(depart),后在save(employee)
8、一对多(Department-Employee)
Employee(id,name,depart<Department>)
Department(id,name,emps) -->private Set<Employee> emps
Department.hbm.xml中定义:
<set name="emps">
<key column="depart_id"/> --->Employee的外键
<one-to-many class="Employee"/>
</set>
9、一对一(Person-IDCard)
Person(id,name,idCard)
IDCard(id,userfulLife,person)
1)基于主键的一对一(IDCard中的id既是主键也是外键)
Person.hbm.xml中定义:
<class name="Person">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<one-to-one name="idCard"/>
</class>
IdCard.hbm.xml中定义:
<class name="IdCard" table="id_card">
<id name="id">
<generator class="foreign">
<param name="property">person</param>
</generator>
</id>
<property name="userfulLife"/>
<one-to-one name="person" constrained=true/>
</class>
2)基于外键的一对一(可以描述为多对一,加上unique="true"约束)
Person.hbm.xml中定义:
<class name="Person">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<one-to-one name="idCard" property-ref="person"/>
</class>
IdCard.hbm.xml中定义:
<class name="IdCard" table="id_card">
<id name="id">
<generator class="native"/>
</id>
<property name="userfulLife"/>
<many-to-one name="person" column="person_id" unique="true" />
</class>
- 传智播客hibernate视频教程-读书笔记2
- 传智播客hibernate视频教程-读书笔记1
- 传智播客hibernate视频教程-读书笔记3
- 传智播客Hibernate视频教程学习笔记2
- hibernate视频教程
- Hibernate视频教程
- Hibernate基础教程读书笔记(2)
- 传智播客Hibernate视频教程学习笔记1
- 传智播客Hibernate视频教程学习笔记3
- 传智播客Hibernate视频教程学习笔记4
- 传智播客Hibernate视频教程学习笔记5
- 传智播客Hibernate视频教程学习笔记6
- 传智播客Hibernate视频教程学习笔记7
- 传智播客Hibernate视频教程学习笔记8
- 传智播客Hibernate视频教程学习笔记9
- 传智播客Hibernate视频教程学习笔记14
- 传智播客Hibernate视频教程学习笔记15
- 传智播客Hibernate视频教程学习笔记16
- _PERSIST_POOL_H_
- SQL 随机函数
- ns修改.bashrc问题(winxp下安装多个NS版本)
- 内核调试技术
- Hi大家好,新人来报到!
- 传智播客hibernate视频教程-读书笔记2
- 静态方法在多线程下的调用
- hibernate 的createSQLQuery的几种用法
- Asp.net DotBBS 设置虚拟路径
- 完美解决Panel设置了borderSkin后内容体与标题栏重叠的问题
- java工具-IntelliJ和数学思想对编程
- C++ Style Guide
- 一些时间管理法则和我自己的时间管理法则
- 五种提高 SQL 性能的方法