我有一个看起来像这样的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;
它工作正常。问题是我想在级联删除上设置操作。但我不知道语法。
当您删除父对象时,它应该可以工作。
https://en.wikibooks.org/wiki/Java_Persistence/ElementCollection
使用 ElementCollection 而不是 OneToMany 的限制是,无法独立于其父对象对目标对象进行查询、持久化和合并。它们是严格私有(依赖(的对象,与嵌入式映射相同。ElementCollection 上没有级联选项,目标对象始终与其父对象一起持久化、合并、删除。ElementCollection 仍然可以使用提取类型,并且默认为 LAZY,与其他集合映射相同。