Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠JPA值删除OneToMany关系_Java_Hibernate_Jpa - Fatal编程技术网

Java 休眠JPA值删除OneToMany关系

Java 休眠JPA值删除OneToMany关系,java,hibernate,jpa,Java,Hibernate,Jpa,我有两张桌子,有一对一的关系 当我将AlarmnotifyEmailEntity实例添加到alarmnotifyEmailEntityList对象中并更新AlarmnotifyEmailConfEntity实例时,该值将正确保存到数据库中 Bu在删除alarmnotifyEmailEntityList的一项时,我无法执行相同的操作。 我确信该值已从alarmnotifyEmailEntityList中删除,但它不会将此更改反映到数据库中 @Entity(name ="alarmnotif

我有两张桌子,有一对一的关系

当我将AlarmnotifyEmailEntity实例添加到alarmnotifyEmailEntityList对象中并更新AlarmnotifyEmailConfEntity实例时,该值将正确保存到数据库中

Bu在删除alarmnotifyEmailEntityList的一项时,我无法执行相同的操作。 我确信该值已从alarmnotifyEmailEntityList中删除,但它不会将此更改反映到数据库中

    @Entity(name ="alarmnotify_email_conf")
    @Table(name = "alarmnotify_email_conf")
    public class AlarmnotifyEmailConfEntity implements Serializable {

    @OneToMany(mappedBy = "alarmnotifyEmailConfRef",cascade=CascadeType.ALL)
        private List<AlarmnotifyEmailEntity> alarmnotifyEmailEntityList;

    }//end of Class

    @Entity (name ="alarmnotify_email")
    @Table(name = "alarmnotify_email")
    public class AlarmnotifyEmailEntity implements Serializable {
     @JoinColumn(name = "alarmnotify_email_conf_ref", referencedColumnName = "id")
        @ManyToOne
        private AlarmnotifyEmailConfEntity alarmnotifyEmailConfRef;
    }end of Class

}

根据我的经验,级联仅适用于相同的操作。如果我们保存父项,则子项也将保存相同的案例,并进行更新。但我认为,当您想要删除其中一个子项时,我们必须使用实体管理器显式删除,并且不能仅合并父项,expect将级联删除到子项。

我在中找到了答案。 因此,添加orphanRemoving=true解决了问题

@实体(name=“alarmnotify\u email\u conf”) @表(name=“alarmnotify\u email\u conf”) 公共类AlarmnotifyEmailConfEntity实现可序列化{

@一家公司(mappedBy)= “alarmnotifyEmailConfRef”,cascade=CascadeType.ALL,孤立删除=true) 私有列表alarmnotifyEmailEntityList

}//end of Class

您是否尝试将cascade=CascadeType.ALL添加到关系的@manyTone一侧?如果@manyTone具有CascadeType.ALL,则会触发删除AlarmnotifyEmailConfEntity实例。但我不希望执行此操作。
}//end of Class