Hibernte之级联操作inverse、cascade
2016-04-01 17:12
423 查看
多对多
UserGroup-------------->User
inverse维护的是关系表(User_UserGroup_Relation)
cascade维护的是(User)
1.
***********************************************************************************************************************
set name="userSet" lazy="false" inverse="false" cascade="save-update"
Hibernate:
/* insert com.pachira.psae.pojo.user.UserGrpMapping
*/ insert
into
user_grp_mapping
(group_name, comment_text)
values
(?, ?)
Hibernate:
/* insert com.pachira.psae.pojo.user.UserMapping
*/ insert
into
user_mapping
(user_name, password, reg_time, login_lock, password_effective_date, user_call_list_head, role_id)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
/* insert collection
row com.pachira.psae.pojo.user.UserGrpMapping.userSet */ insert
into
user_group
(group_id, user_id)
values
(?, ?)
***********************************************************************************************************************
2.
***********************************************************************************************************************
set name="userSet" lazy="false" inverse="true" cascade="save-update"
Hibernate:
/* insert com.pachira.psae.pojo.user.UserGrpMapping
*/ insert
into
user_grp_mapping
(group_name, comment_text)
values
(?, ?)
Hibernate:
/* insert com.pachira.psae.pojo.user.UserMapping
*/ insert
into
user_mapping
(user_name, password, reg_time, login_lock, password_effective_date, user_call_list_head, role_id)
values
(?, ?, ?, ?, ?, ?, ?)
***********************************************************************************************************************
3.
***********************************************************************************************************************
set name="userSet" lazy="false" inverse="false" cascade="null"
Hibernate:
/* insert com.pachira.psae.pojo.user.UserGrpMapping
*/ insert
into
user_grp_mapping
(group_name, comment_text)
values
(?, ?)
Hibernate:
/* insert collection
row com.pachira.psae.pojo.user.UserGrpMapping.userSet */ insert
into
user_group
(group_id, user_id)
values
(?, ?)
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing
***********************************************************************************************************************
4.
***********************************************************************************************************************
set name="modelSet" lazy="false" inverse="true" cascade="null"
Hibernate:
/* insert com.pachira.psae.pojo.user.UserGrpMapping
*/ insert
into
user_grp_mapping
(group_name, comment_text)
values
(?, ?)
(?, ?)
***********************************************************************************************************************
一对多
model-------------->modelGroup
inverse维护的是关联的外键
cascade维护的是除外键的所有属性
1.
***********************************************************************************************************************
set name="modelSet" lazy="false" inverse="false" cascade="save-update"
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelGrpMapping
*/ insert into
model_grp_mapping
(group_name, is_share, user_grp_id, comment_text)
values (?, ?, ?, ?)
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelMapping
*/ insert into
model_mapping
(model_name, short_name, formula, deploy_state, deleted, proc_percent, user_id, last_modifier, modify_date, channel, type, group_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate:
/* create one-to-many row com.pachira.psae.pojo.model.ModelGrpMapping.modelSet */ update
model_mapping
set
group_id=?
where
model_id=?
***********************************************************************************************************************
2.
***********************************************************************************************************************
set name="modelSet" lazy="false" inverse="true" cascade="save-update"
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelGrpMapping
*/ insert into
model_grp_mapping
(group_name, is_share, user_grp_id, comment_text)
values (?, ?, ?, ?)
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelMapping
*/ insert into
model_mapping
(model_name, short_name, formula, deploy_state, deleted, proc_percent, user_id, last_modifier, modify_date, channel, type, group_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
***********************************************************************************************************************
3.
***********************************************************************************************************************
set name="modelSet" lazy="false" inverse="false" cascade="null"
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelGrpMapping
*/ insert into
model_grp_mapping
(group_name, is_share, user_grp_id, comment_text)
values (?, ?, ?, ?)
Hibernate:
/* create one-to-many row com.pachira.psae.pojo.model.ModelGrpMapping.modelSet */ update
model_mapping
set
group_id=?
where
model_id=?
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing
***********************************************************************************************************************
4.
***********************************************************************************************************************
set name="modelSet" lazy="false" inverse="true" cascade="null"
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelGrpMapping
*/ insert into
model_grp_mapping
(group_name, is_share, user_grp_id, comment_text)
values (?, ?, ?, ?)
***********************************************************************************************************************
在多方设置如下(不建议这么做),效果等同于1
***********************************************************************************************************************
many-to-one name="modelGrpMapping" column="group_id" lazy="false" cascade="save-update"
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelGrpMapping
*/ insert into
model_grp_mapping
(group_name, is_share, user_grp_id, comment_text)
values (?, ?, ?, ?)
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelMapping
*/ insert into
model_mapping
(model_name, short_name, formula, deploy_state, deleted, proc_percent, user_id, last_modifier, modify_date, channel, type, group_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate:
/* create one-to-many row com.pachira.psae.pojo.model.ModelGrpMapping.modelSet */ update
model_mapping
set
group_id=?
where
model_id=?
***********************************************************************************************************************
UserGroup-------------->User
inverse维护的是关系表(User_UserGroup_Relation)
cascade维护的是(User)
1.
***********************************************************************************************************************
set name="userSet" lazy="false" inverse="false" cascade="save-update"
Hibernate:
/* insert com.pachira.psae.pojo.user.UserGrpMapping
*/ insert
into
user_grp_mapping
(group_name, comment_text)
values
(?, ?)
Hibernate:
/* insert com.pachira.psae.pojo.user.UserMapping
*/ insert
into
user_mapping
(user_name, password, reg_time, login_lock, password_effective_date, user_call_list_head, role_id)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
/* insert collection
row com.pachira.psae.pojo.user.UserGrpMapping.userSet */ insert
into
user_group
(group_id, user_id)
values
(?, ?)
***********************************************************************************************************************
2.
***********************************************************************************************************************
set name="userSet" lazy="false" inverse="true" cascade="save-update"
Hibernate:
/* insert com.pachira.psae.pojo.user.UserGrpMapping
*/ insert
into
user_grp_mapping
(group_name, comment_text)
values
(?, ?)
Hibernate:
/* insert com.pachira.psae.pojo.user.UserMapping
*/ insert
into
user_mapping
(user_name, password, reg_time, login_lock, password_effective_date, user_call_list_head, role_id)
values
(?, ?, ?, ?, ?, ?, ?)
***********************************************************************************************************************
3.
***********************************************************************************************************************
set name="userSet" lazy="false" inverse="false" cascade="null"
Hibernate:
/* insert com.pachira.psae.pojo.user.UserGrpMapping
*/ insert
into
user_grp_mapping
(group_name, comment_text)
values
(?, ?)
Hibernate:
/* insert collection
row com.pachira.psae.pojo.user.UserGrpMapping.userSet */ insert
into
user_group
(group_id, user_id)
values
(?, ?)
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing
***********************************************************************************************************************
4.
***********************************************************************************************************************
set name="modelSet" lazy="false" inverse="true" cascade="null"
Hibernate:
/* insert com.pachira.psae.pojo.user.UserGrpMapping
*/ insert
into
user_grp_mapping
(group_name, comment_text)
values
(?, ?)
(?, ?)
***********************************************************************************************************************
一对多
model-------------->modelGroup
inverse维护的是关联的外键
cascade维护的是除外键的所有属性
1.
***********************************************************************************************************************
set name="modelSet" lazy="false" inverse="false" cascade="save-update"
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelGrpMapping
*/ insert into
model_grp_mapping
(group_name, is_share, user_grp_id, comment_text)
values (?, ?, ?, ?)
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelMapping
*/ insert into
model_mapping
(model_name, short_name, formula, deploy_state, deleted, proc_percent, user_id, last_modifier, modify_date, channel, type, group_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate:
/* create one-to-many row com.pachira.psae.pojo.model.ModelGrpMapping.modelSet */ update
model_mapping
set
group_id=?
where
model_id=?
***********************************************************************************************************************
2.
***********************************************************************************************************************
set name="modelSet" lazy="false" inverse="true" cascade="save-update"
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelGrpMapping
*/ insert into
model_grp_mapping
(group_name, is_share, user_grp_id, comment_text)
values (?, ?, ?, ?)
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelMapping
*/ insert into
model_mapping
(model_name, short_name, formula, deploy_state, deleted, proc_percent, user_id, last_modifier, modify_date, channel, type, group_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
***********************************************************************************************************************
3.
***********************************************************************************************************************
set name="modelSet" lazy="false" inverse="false" cascade="null"
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelGrpMapping
*/ insert into
model_grp_mapping
(group_name, is_share, user_grp_id, comment_text)
values (?, ?, ?, ?)
Hibernate:
/* create one-to-many row com.pachira.psae.pojo.model.ModelGrpMapping.modelSet */ update
model_mapping
set
group_id=?
where
model_id=?
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing
***********************************************************************************************************************
4.
***********************************************************************************************************************
set name="modelSet" lazy="false" inverse="true" cascade="null"
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelGrpMapping
*/ insert into
model_grp_mapping
(group_name, is_share, user_grp_id, comment_text)
values (?, ?, ?, ?)
***********************************************************************************************************************
在多方设置如下(不建议这么做),效果等同于1
***********************************************************************************************************************
many-to-one name="modelGrpMapping" column="group_id" lazy="false" cascade="save-update"
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelGrpMapping
*/ insert into
model_grp_mapping
(group_name, is_share, user_grp_id, comment_text)
values (?, ?, ?, ?)
Hibernate:
/* insert com.pachira.psae.pojo.model.ModelMapping
*/ insert into
model_mapping
(model_name, short_name, formula, deploy_state, deleted, proc_percent, user_id, last_modifier, modify_date, channel, type, group_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate:
/* create one-to-many row com.pachira.psae.pojo.model.ModelGrpMapping.modelSet */ update
model_mapping
set
group_id=?
where
model_id=?
***********************************************************************************************************************
相关文章推荐
- 常见的GC垃圾收集算法的思路
- javascript中使用MSXML调用我自己电脑上的WEBservice
- oracle函数trunc的使用
- 如何安装Tomcat
- 电商的支付前、中、后这3个流程都是怎么设计的?
- node.js Stream
- Java虚拟机相关知识(1)—Java内存区域
- C#第四次上机
- Linux内核分析6:分析Linux内核创建一个新进程的过程
- Android 启动时黑白屏问题
- 设计模式——代理模式
- java 操作数字证书(x509)
- 系统自带定位
- 63. Unique Paths II
- linux网络基础
- Android路径介绍
- 遗传算法B
- CFile 与 CStdioFile的区别
- Fragment的介绍和使用(三)
- ORACLE表空间