java - Hibernate删除和更新

标签 java hibernate oracle11g hibernate-mapping

我有一个要更新的 java 对象。我使用 SaveOrUpdate 方法来做到这一点。它可以很好地更新子项,但我的要求存在问题。

因为如果删除一个子项,我需要从数据库中删除一个子项。

请问有人有好主意来实现这个吗?

例如:-

项目与人有一对多的关系。

项目有一个属性,例如,

  class Project { 
    long id;
    Set<People> people;
    ......
 }

public void updateProject(Project project) {

    try {
        getCurrentSession().saveOrUpdate(project);
    } catch (Exception ex) {
        logger.error(ex);
    }

项目对象包含人员设置,但从中删除了一些人员 ID。

我需要更新项目并删除不需要的人员 ID

谢谢

最佳答案

我假设您已在项目实体上启用级联,所以我的猜测是您需要将 orphanRemoval 属性添加到关系中。 您的案例示例如下:

@OneToMany(cascade={CascadeType.ALL}, orphanRemoval=true)

关于java - Hibernate删除和更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17917433/

相关文章:

java - 用Java解压缩内存中的ZIP文件

java - Tomcat Web 应用程序自动停止

java - Android:从头开始重建现有项目

mysql - Hibernate 按可能为空的字段排序

java - 多个线程访问数据库 : one with long transaction, 一个带有短事务

java - 将 NewProxyConnection 转换为 C3P0ProxyConnection 时出现 ClassCastException

java - 显示错误的时差

java - Hibernate 查询示例(来自 Spring 3)

java - 如何查看Oracle中的JDK版本?

java - 解释 JDBC 连接