我在系统中建立了一个这样的关系
Customer<客户> news<新闻> pinglun<评论>
customer.hbm.xml文件代码
.......
<set name="pingluns" lazy="true" inverse="true" cascade="all-delete-orphan">
<key column="Customer_id"/>
<one-to-many class="pinglun"/>
</set>
<set name="newses" lazy="true" inverse="true" cascade="all-delete-orphan">
<key column="Customer_id"/>
<one-to-many class="news"/>
</set>
......
news.hbm.xml文件代码
......
<set name="pingluns" lazy="true" inverse="true" cascade="all-delete-orphan">
<key column="News_id"/>
<one-to-many class="pinglun"/>
</set>
<many-to-one name="newsauthor"
column="Customer_id"
class="Customer"/>
......
pinglun.hbm.xml文件代码
<many-to-one name="plauthor"
column="Customer_id"
class="Customer"/>
<many-to-one name="News"
column="News_id"
class="News"/>
可是在我级联删除时总是出现这个错误 当然删除普通的没问题 我现在选择的是删除那些发表过文章和评论的人
Failed to lazily initialize a collection
在控制台的错误代码
Caused by:could not initialize collection: [com.eric.object.Customer.pingluns#350]
Caused by: java.sql.SQLException: 流已被关闭
各种参数我都尝试过 为什么还是不能级联删除?
对了 我的action中只是简单的传递一个ID 过去,然后调用service层来删除用户
分享到:
相关推荐
在Java Persistence API (JPA) 中,一对...总的来说,JPA的一对多双向关联及级联操作为开发者提供了便利,但也需要注意合理配置以避免潜在的问题。在实际开发中,我们需要根据业务需求和性能考虑来选择合适的关联策略。
本资料包"10_JPA详解_JPA中的一对多双向关联与级联操作.zip"聚焦于JPA中的一个重要概念——一对多双向关联及其级联操作。以下是对这一主题的详细阐述。 **一对多关联** 在关系数据库设计中,一对多关联是最常见的...
在实际应用中,需要注意的是,虽然双向关联和级联操作带来了很多便利,但也可能导致性能问题,因为它们会增加数据库查询的复杂性和数据的冗余。因此,在设计数据模型时,应权衡易用性和效率,合理使用这些特性。 本...
在Hibernate 3.2版本中,级联关系是处理对象间关联的重要特性,特别是自身一对多双向关联,这允许一个实体类实例与多个相同类型的其他实例相关联,而且这种关联是双向的。现在,让我们深入探讨这个主题。 首先,...
"双向关联"则意味着在两个实体类中,都可以直接访问到对方的实例,即在实体A中有一个对实体B的引用,同时在实体B中也有一个对实体A的引用。 在实际配置中,我们可以使用以下元素来实现这种映射: 1. `@OneToOne`:...
总结来说,JPA中的多对多双向关联实体定义涉及`@ManyToMany`、`@JoinTable`以及`mappedBy`等注解的使用。正确配置这些注解可以让我们轻松地管理实体之间的复杂关系,并简化数据库操作。在实际项目中,理解并熟练掌握...
总结,多对一双向关联关系在Hibernate中的实现涉及实体类的注解配置、级联操作的管理以及在业务逻辑中维护关联的正确性。理解和熟练掌握这种关联关系对于开发高效、稳定的企业级应用至关重要。通过分析`hibernateM2O...
本篇将详细讲解JPA中的一个关键概念——多对多双向关联,并通过实体定义与注解设置来深入理解这一特性。"13_传智播客JPA详解"系列教程涵盖了JPA的诸多方面,而"13_传智播客JPA详解_JPA中的多对多双向关联实体定义与...
本篇主要探讨的是基于主键(Primary Key)的双向关联映射,这在实际项目中非常常见,比如用户与账户、员工与职务等场景。 一、主键关联映射概述 主键关联映射是通过将两个实体类的主键相互引用来实现一对一关系的。...
在使用双向关联时,要特别注意Session的生命周期,避免出现脏读、不可重复读或幻读等并发问题。适时调用`Session.clear()`或`Session.flush()`可以帮助管理对象状态。 10. **性能优化** 虽然双向关联提供了便利,...
双向关联可以方便我们在业务逻辑中进行操作,但同时也需要注意维护关联的完整性,避免出现数据不一致的情况。 四、CascadeType参数 `CascadeType.ALL`参数表示级联操作,当对`EntityA`进行操作(如保存、更新、删除...
总的来说,JPA的`@OneToOne`注解提供了处理一对一关联的强大工具,尤其是在处理双向关联时。正确理解和使用这些关联,能够帮助我们更好地进行对象与数据库之间的映射,提高代码的可读性和维护性。在实际项目中,应...
在本篇文章中,我们将深入探讨如何实现双向关联的一对多映射,以及在实际应用中可能会遇到的问题和解决方案。 首先,我们需要了解什么是双向关联。在Hibernate的一对多关联中,双向关联意味着双方都可以通过导航...
3. **避免循环引用**:双向关联可能导致循环引用,即A引用B,B又引用A,如果不妥善处理,可能会导致内存泄漏或性能问题。 4. **注解配置**:在Hibernate中,使用`@ManyToOne`和`@OneToMany`注解来声明多对一和一对...
双向关联则提供了更丰富的导航能力,但可能导致数据冗余和更新异常问题。因此,选择哪种关联方式应根据具体需求来决定。 了解了这些关联概念后,我们可以通过以下步骤实现它们: 1. **定义实体类**:创建表示...
这可以简化数据操作,但需要注意可能会引发的级联删除问题。 4. **@JoinColumn**: `@JoinColumn`用于指定外键字段的名称。在这个例子中,`Profile`表中有一个名为`user_id`的字段作为外键,关联到`User`表的主键...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向...在实际开发中,要结合具体需求,合理选择单向或双向关联,并注意管理好关联关系,以优化性能和避免潜在问题。
- **双向关联**:双方都知道彼此,Person类有IdCard对象,IdCard类也有Person对象。双向关联需要在双方实体类上都添加注解,并通过`mappedBy`属性指定关联的另一方。 ```java @Entity public class Person { @...