java - Hibernate删除对象而不删除相关对象

标签 java mysql database hibernate hql

我有一个包含 3 个表的数据库:Slideshows、MediaItemsInSlideshows 和 Mediaitems。我正在使用这个数据库和一个使用 hibernate 的 jsp 站点。 我希望能够删除幻灯片而不删除媒体项目。不过,MediaItemsInSlideshows 中的行应该被删除。

目前我使用以下代码来删除幻灯片。当我使用此功能时,幻灯片中使用的所有媒体项目都消失了。

Session session = HibernateUtil.getSessionFactory().openSession();
Slideshow s = this.getSlideshowById(id, session);
session.beginTransaction();
session.delete(s);
session.getTransaction().commit();

这是数据库的直观表示: enter image description here

最佳答案

删除 A 会将 B 中对它的引用设置为 null,这是架构所禁止的。更改删除顺序的另一种方法是在 B 中添加反向一对多集合,并进行级联删除。只需要删除 A。 (来源:Deleting of related objects in hibernate)

关于java - Hibernate删除对象而不删除相关对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13842870/

相关文章:

java - AEM 6.1 文档中的非常基本的示例不起作用

java - Spotify/dockerfile-maven 插件 : Could not build image: javax.net.ssl.SSLException : Unrecognized SSL message, 明文连接

java - 使用 SSL 发送电子邮件在我的 Java 应用程序中不起作用,TLS 起作用

php - 社交网络的数据库设计

java - 将无穷大参数作为输入传递给泛型

c# - 使用 Visual Studio 连接远程 Mysql 数据库

mysql - MySQL 中的参数化字符串和通配符

php - 测量php脚本的实际执行时间

sql - 在 VS2012 和 SSDT 中设置数据库图?

mysql - 这个查询如何破坏我的 mysql 复制?