-
关于hibernate级联删除,删除子表数据sql不执行10
主表的注解
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "appDcOut")
子表的注解
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "APP_DC_OUT_ID")
我在通过主表findOne(id)出主表的对象,
然后再setxxxxxList(null)或者setxxxxxList(new ArrayList<>())都没有用,子表的数据都还在,这是为什么啊?
请帮忙看一下,谢谢2014年10月20日 21:00
1个答案 按时间排序 按投票排序
-
Hibernate用的不多,不过这么搞应该没问题,主要就是你主表要有set子表的一个方法,以role(角色表,主表)和rolefunction(角色功能表,子表)为例,仅供参考:
主表@Id @Column(name = "iRoleId", nullable = false) @GeneratedValue(strategy=GenerationType.IDENTITY) private int iRoleId; @OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @JoinColumn(name = "iRoleId") private List<RoleFunction> rftb = new ArrayList<RoleFunction>(); public List<RoleFunction> getRftb() { return rftb; } public void setRftb(List<RoleFunction> rftb) { for (int i = 0; i < rftb.size(); i++) { rftb.get(i).setiRoleId(iRoleId); } this.rftb = rftb; }
子表:@ManyToOne(cascade=CascadeType.ALL,optional=false) @JoinColumn(name = "iRoleId") private Role roleTbl;
2014年10月22日 08:18
相关推荐
基于eclipse开发的Struts+hibernate+SqlServer2000级联下拉框
方法一:创建约束时设定级联删除(但一般由于各种原因或出于各种考虑在创建数据库时没有设定级联删除)SQL语句: 代码如下:CREATE TABLE “U_WEN_BOOK”.”FARTAB” (“FAR_ID” NUMBER(10) NOT NULL,“FAR_NAME” ...
Spring+Hibernate 框架整合写的一对一映射级联增删改查小例子,有SQL文件和使用说明,代码简洁易懂.
第一部分 从Hibernate和EJB 3.0开始 第1章 理解对象/关系持久化 1.1 什么是持久化 1.1.1 关系数据库 1.1.2 理解SQL 1.1.3 在Java中使用SQL 1.1.4 面向对象应用程序中的持久化 1.2 范式不...
3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA TransactionManagers 9.1. 继承映射特性(Features of inheritance mappings) 16.1. 别名注射(alias injection names) 19.1. ...
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
多对多关联映射---教师与学生表的级联增删改查小例子测试,代码简洁易懂,有SQL文件和使用说明.
7.2.2 级联删除 7.2.3 父子关系 7.3 映射一对多双向自身关联关系 7.4 改进持久化类 7.5 小结 7.6 思考题 第8章 通过Hibernate操纵对象(上) 8.1 Java对象在JVM中的生命周期 8.2 理解Session的缓存 ...
hibernate注解 1.级联关系 2.增删改查 3.二级缓存 4.日志配置 5.注解解析
很奇怪),分别是CascadeType.PERSIST(级联新建),CascadeType.REMOVE(级联删除),CascadeType.REFRESH(级联刷新),CascadeType.MERGE(级联更新),CascadeType.ALL(全部四项) * 方法一 * 主表: ?@OneToOne...
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
Hibernate位于持久化层,是域模型和关系数据模型之间的桥梁。 1.1 应用程序的分层体系结构 1 1.1.1 区分物理层和逻辑层 2 1.1.2 软件层的特征 3 1.1.3 软件分层的优点 4 1.1.4 软件分层的缺点 4 1.1.5 Java...
21.1. 关于collections 21.2. 双向的一对多关系(Bidirectional one-to-many) 21.3. 级联生命周期(Cascading lifecycle) 21.4. 级联与未保存值(Cascades and unsaved-value) 21.5. 结论 22. 示例:Weblog 应用...
21.1. 关于collections需要注意的一点 21.2. 双向的一对多关系(Bidirectional one-to-many) 21.3. 级联生命周期(Cascading lifecycle) 21.4. 级联与未保存值(Cascades and unsaved-value) 21.5. 结论 22. ...
21.1. 关于collections需要注意的一点 21.2. 双向的一对多关系(Bidirectional one-to-many) 21.3. 级联生命周期(Cascading lifecycle) 21.4. 级联与未保存值(Cascades and unsaved-value) 21.5. 结论 22. 示例:...
Hibernate参考文档 目录 前言 1. 翻译说明 2. 版权声明 1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第...
Hibernate注释大全收藏 声明实体Bean @Entity public class Flight implements Serializable { Long id; @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } } @Entity ...
策略:不严格的读/写缓存 14.3.5. 策略:事务缓存(transactional) 14.4. 管理Session缓存 14.5. 查询缓存(Query Cache) 15. 工具箱指南 15.1. Schema 生成器(Schema Generation) 15.1.1. 对...