0 0

关于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个答案 按时间排序 按投票排序

0 0

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

相关推荐

    hibernate 级联查询

    缺点是如果不合理使用,可能导致数据安全问题,比如误删除大量数据,或者性能下降,因为级联操作可能导致过多的数据库交互。 6. **最佳实践**:在实际开发中,应根据业务需求谨慎选择级联类型,避免过度使用,同时...

    Hibernate 一对多、多对一、级联、加载、反转

    在Java持久化框架Hibernate中,一对多(One-to-Many)、多对一(Many-to-One)、级联(Cascading)、加载(Loading)和反转(Inversing)是关系映射的重要概念,它们对于理解如何在数据库和对象之间有效地管理关联至...

    Hibernate的缓存级联查询

    在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者用面向对象的方式操作数据库。尽管随着Spring Data JPA等现代技术的崛起,Hibernate的使用频率有所下降,但其核心...

    用hibernate做的省市县三级级联,

    Hibernate的Session接口被用来执行SQL查询或更新,例如获取所有省份、根据省份ID获取城市等。DAO层的设计遵循了单一职责原则,使得代码更易于维护和测试。 `DwrBiz.java`可能引用了Direct Web Remoting (DWR) 框架...

    用Struts+hibernate+SQLServer2000写的级联下拉框程序

    Struts、Hibernate以及SQLServer2000是Java Web开发中的三个重要技术,它们共同构建了一个功能丰富的级联下拉框程序。这个程序的核心目的是在用户界面中提供一种交互方式,使得用户可以从一个下拉框的选择中动态地...

    Java中单表和多表级联的增删改查

    - 当两个或更多表之间存在关联时,例如一对多、多对一或多对多关系,级联操作会涉及到一个表的操作导致另一个表的相关数据也发生变化。例如,删除一个用户可能需要同时删除与之相关的所有订单。 - Hibernate等ORM...

    解析Oracle中多表级联删除的方法

    在Oracle数据库中,多表级联删除是一种常见的需求,特别是在数据关系复杂的环境中。级联删除允许在删除一个表中的记录时,自动删除依赖于该记录的其他表中的相关记录。以下将详细介绍三种在Oracle中实现多表级联删除...

    spring jpa操作数据库 级联数据 hibernate

    本主题主要围绕"spring jpa操作数据库 级联数据 hibernate"展开,探讨如何利用Spring JPA进行数据库交互,并涉及到级联操作和与Hibernate的集成。 Spring JPA是Spring对Java Persistence API的一个封装,它提供了...

    HibernateHQL级联注意事项[归类].pdf

    - JDBC级联:通常需要编写多条SQL语句,手动处理结果集,将数据转化为Java对象,操作繁琐且易出错。 - HQL级联:HQL可以直接查询关联对象,例如`from Employee e where e.department.deptname='IT'`,一条语句即可...

    struts+hibernate+ajax级联菜单

    在级联菜单中,可能涉及到多级分类的数据,如省份、城市、区县等,Hibernate可以通过实体类与数据库表进行映射,使得开发者无需编写大量的SQL语句,即可实现对数据库的增删查改操作。例如,当用户选择一个省份时,...

    hibernate基础 二 关联映射 级联操作

    ### Hibernate基础之关联映射与级联操作 ...以上是关于Hibernate中关联映射和级联操作的基础知识概述,掌握了这些内容后,开发者能够在实际项目中更加灵活高效地使用Hibernate进行数据持久化操作。

    SSH+级联菜单应用案例

    在级联菜单应用中,它用于将菜单数据模型与数据库表进行映射,提供CRUD(创建、读取、更新、删除)操作。级联菜单的数据通常存储在多层关联的表结构中,Hibernate可以通过HQL(Hibernate Query Language)或 ...

    Struts2+Hibernate写的下拉菜单级联两级分类

    在获取子分类的时候,Hibernate可以通过HQL(Hibernate Query Language)或 Criteria API 来执行SQL查询,从而获取所需的数据。 在实际的项目中,开发者可能会使用Ajax技术来实现下拉菜单的动态更新,这样可以在不...

    struts2+hibernate+spring多表操作示例

    同时,Spring的JdbcTemplate或MyBatis等工具也可以用来辅助数据访问,简化SQL的编写和执行。 4. **多表查询与操作**:在多表关联的场景下,常见的操作有联合查询、级联保存/更新和级联删除。例如,通过Hibernate的 ...

    用Struts2+Spring+Hibernate三大框架完成的级联操作

    在级联操作中,Hibernate可能被用来处理省市县和年月日的数据存取,通过HQL(Hibernate Query Language)或者Criteria API来执行SQL查询,获取级联选择的数据。 级联操作的核心在于数据间的关联,例如选择一个省后...

    Spring+Hibernate 一对一映射级联增删改查小例子

    SQL文件用于创建对应的数据库表,而使用说明则详细解释了如何运行这个示例,包括如何配置数据库连接、导入SQL脚本以及启动项目等步骤。 通过这个小例子,我们可以了解Spring和Hibernate整合下的一对一映射及级联...

    Hibernate-基础联表模板

    综上所述,"Hibernate-基础联表模板"涵盖了Hibernate中关于联表查询的基础知识,包括各种查询方式、关联关系的定义、Fetch策略以及查询结果的处理等,是开发者进行数据库操作的有力助手。通过这个模板,开发者可以...

    实现年月日的级联更新

    这种机制在数据一致性、关联性和完整性方面扮演着关键角色,尤其在多表关联的数据库设计中。本示例将探讨如何实现年月日的级联更新,确保日期相关的数据始终保持同步。 在关系数据库中,级联更新通常通过外键约束来...

    DWR+hibernate+spring级联下拉列表框

    通过 Hibernate,开发者可以用面向对象的方式操作数据,无需关心底层 SQL 语句。 3. **Spring**:Spring 是一个全面的企业级应用开发框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,...

    SSH(Spring+Struts2+Hibernate)登录与AJAX级联

    它将数据库表映射为Java对象,通过简单的对象操作就能完成复杂的SQL查询。例如,通过Hibernate查询数据库验证用户名和密码是否匹配。 4. **AJAX(Asynchronous JavaScript and XML)**: AJAX允许在不刷新整个页面...

Global site tag (gtag.js) - Google Analytics