Hibernate学习笔记(5):多对一关联映射
来源:互联网 发布:斗鱼公司 知乎 编辑:程序博客网 时间:2024/05/21 11:38
Hibernate学习笔记(5):多对一关联映射
many2one
关联映射本质:
将关联关系映射到数据库,所谓的关联关系是对象模型在内存中的一个或多个引用
利用class的many-to-one标签
<many-to-one name="group" column="groupid">
会自动在user表中添加一个字段,作为外键参照group表
persistent状态的对象不能引用transient状态的对象,否则抛出TransientObjectException
1、保存的时候先保存group然后保存user
2、使用级联,级联对保存、更新、删除有效,在many-to-one标签中设置casecade设置为save-update,还可以设置为all,delete,none,默认为none。不建议级联删除,会出现问题。
加载:
get或者load加载user时,会自动加载group
<many-to-one>会在多的一端加入一个外键,指向一的一端,这个外键是由column属性定义的,如果忽略了这个属性,那么默认的属性与实体一致
实例:
User类
public class User {
private int id;
private String name;
private Group group;
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 Group getGroup() {
return group;
}
public void setGroup(Group group) {
this.group = group;
}
}
public class Group {
int id;
String name;
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;
}
}
User的映射文件
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!-- 默认表明与类名一致,可以通过设置class的table属性来设置表明 -->
<class name="com.hk.hibernate.User">
<!--主键,自动生成唯一值,必须放在最前面 -->
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<many-to-one name="group" column="groupid"/>
</class>
</hibernate-mapping>
group的映射文件
<!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.hk.hibernate.Group" table="_group">
<!--主键,自动生成唯一值,必须放在最前面 -->
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
</class>
</hibernate-mapping>
- Hibernate学习笔记(5):多对一关联映射
- Hibernate学习11 -- 关联映射1 -- 多对一关联
- Hibernate关联映射--多对一映射
- hibernate笔记(七)多对一关联映射分析
- Hibernate学习-7-关联映射(一对多,多对一)
- Hibernate关联关系映射(多对一关联映射)
- Hibernate多对一单向关联映射
- hibernate多对一关联映射
- hibernate多对一关联映射
- hibernate映射多对一关联
- hibernate:多对一单向关联映射
- hibernate多对一关联映射
- hibernate---->多对一关联映射
- Hibernate多对一映射单向关联
- hibernate 关联映射 多对一
- Hibernate多对一关联映射(单向)
- Hibernate多对一关联映射
- 【Hibernate】多对一关联映射
- Javascript Widget入门解析
- 【Seo技巧】高质量链接的十大特征
- log4j详解与实战
- UC故事 2011/06/24 - 1(补记2011/12/06)
- Linux实现SSH无密码登录
- Hibernate学习笔记(5):多对一关联映射
- Silverlight是什么?
- 程序员的八种级别
- JSTL 各项标签及其属性
- 一篇依赖倒置,控制反转,依赖注入好文
- hibernate面试汇总
- DIY的JS弹出层弹出对话框弹出页面弹出窗口的插件
- QT 事件和信号
- 搞嵌入式linux值得收藏的官方网址