java - 仅当不再使用时如何删除实体?

标签 java hibernate hibernate-annotations

只有当 @ManyToOne 实体不再被任何父对象引用时,才可以删除它吗?

@Entity
public class Product {
     @ManyToOne
     private MyEntity entity;
}

@Entity
public class MyEntity {
  @Id
  private long id;

  private String name;
}

Product 被删除时,MyEntity 是否有可能保留在数据库中。但如果要删除的产品是最后一个引用 MyEntity id 的产品,也会删除该实体。

最佳答案

是的,您可以删除孤儿:

@OneToOne(orphanRemoval = true)
private MyEntity entity;

关于java - 仅当不再使用时如何删除实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32004010/

相关文章:

java - 如何安装第一个 Ninja Web Framework 应用程序?

java - 谷歌示例应用程序编译说明出错?

java - vlcj mlr 特殊字符

mysql - 更新 MySQL 表中的排名

mysql - 在@OnetoOne 共享主键场景中更改生成的 Hibernate 外键

java - @ManyToOne 和@BatchSize

java - 删除重新创建的 bean 的元素时,Hibernate 级联删除不起作用

java - 将 OSGI 包与 Maven 一起使用时如何隐藏嵌入式依赖项?

java.lang.NoClassDefFoundError : org/hibernate/cache/EntityRegion configuring EHCache

java - 使用 Spring JPA 的单向多对多映射