JPA:删除子实体

时间:2015-05-04 06:21:39

标签: spring hibernate jpa eclipselink openjpa

我有一个实体(例如:文档),在4个其他实体中用作子项(在父项中使用@OoToMany和@JoinTable)。我没有使用双向映射。我的要求是删除孩子(即文件),我有两种方法可以做到这一点,一种方法是,让4个父母,从他们中删除孩子并更新他们。其次,使用本机查询(使用jdbcTemplate)从4个连接表中删除条目并删除子项。

还有其他方法可以用更简单的方式完成吗?

2 个答案:

答案 0 :(得分:0)

添加孤立删除(即删除父对象中删除的子对象)。要启用它,您需要添加

  

@OneToMany(orphanRemoval =真)

拥有实体。

答案 1 :(得分:0)

创建一个抽象基类,其中包含Document作为成员和用户JPA inhertiance - > http://en.wikibooks.org/wiki/Java_Persistence/Inheritance 应该可以只用一个查询来获取文档的所有用户。 比删除所有引用应该相对容易。

不要在自动删除内容后做魔术。这就是文件费用。

相关问题