【问题标题】:How to set the action on cascade delete to a collection table with Hibernate/JPA如何使用 Hibernate/JPA 将级联删除操作设置为集合表
【发布时间】:2019-09-11 10:10:02
【问题描述】:

我有一个如下所示的 CollectionTable:

@ElementCollection
@CollectionTable(
        name="FOO_FEES", 
        joinColumns=@JoinColumn(name="FOO_ID", 
        foreignKey=@ForeignKey(name="FK_FEE_FOO")), 
        indexes={
           @Index(columnList="FEE", name="IDX_FEES_FEE"),
           @Index(columnList="FOO_ID", name="IDX_FEES_FOO_ID")
        }
)
@Column(name="FEE", nullable = false)
private Set<String> fees;

它工作正常。问题是我想在级联删除上设置操作。但我不知道语法。

【问题讨论】:

    标签: hibernate jpa hibernate-annotations


    【解决方案1】:

    当您删除父对象时它应该可以工作。

    https://en.wikibooks.org/wiki/Java_Persistence/ElementCollection

    使用 ElementCollection 而不是 OneToMany 的限制是目标对象不能独立于其父对象进行查询、持久化和合并。它们是严格私有(依赖)的对象,与嵌入式映射相同。 ElementCollection 上没有级联选项,目标对象始终与其父对象一起持久化、合并、删除。 ElementCollection 仍然可以使用 fetch 类型,并且默认为 LAZY,与其他集合映射相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-23
      • 2014-11-16
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 2011-12-03
      • 1970-01-01
      相关资源
      最近更新 更多