目前我正在开发一个spring项目,我正在使用Hibernate 4.2.6
来保持持久性。
我在从两个列表中删除子对象时遇到了一个神秘的问题。
我的Entity-Scheme的简易版本如下:
ParentA {
@OneToMany(fetch=FetchType.EAGER, mappedBy="parentA", cascade=CascadeType.ALL, orphanRemoval=true)
private List<Children> children;
}
ParentB {
@OneToMany(fetch=FetchType.EAGER, mappedBy="parentB", cascade=CascadeType.ALL, orphanRemoval=true)
private List<Children> children;
}
Children {
@JsonIgnore
@ManyToOne
@JoinColumn(name="parenta_id", nullable=false, referencedColumnName = "id")
private ParentA parentA;
@JsonIgnore
@ManyToOne
@JoinColumn(name="parentb_id", nullable=false, referencedColumnName = "id")
private ParentB parentB;
}
我确实使用JpaRepository-Interfaces进行实体管理:
ParentARepository extends JpaRepository<ParentA, Long> {}
ParentBRepository extends JpaRepository<ParentB, Long> {}
ChildrenRepository extends JpaRepository<Children, Long> {}
但是,我怎样才能从我的数据库中删除任何这些列表中的子项?
当我打电话给childrenRepository.remove(children)
时,没有任何事情发生。没有错误消息,没有sql-command,没有log-entry。但周围的来源被称为正确。
希望有人能提供帮助。我认为在这种情况下,我的Child-Class不仅仅是一个关联类,但它不应该有所作为。