我们有两个实体:
public class User {
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "user_id", insertable = true, updatable = true)
@ElementList(name = "tabledata")
public List<MyUserTableData> tableData = new ArrayList<MyUserTableData>();
}
public class MyUserTableData {
public Long user_id;
}
我所做的操作是从 u.tableData 中删除一个条目,然后调用 EntityManager 来合并(u)。
OpenJPA 将通过在 MyUserTableData 中使用 user_id = "null" 设置相应记录来从 User 对象中删除条目。
但我想要的是,如果从用户中删除条目,它还应该从 MyUserTableData 中删除记录,而不仅仅是将 user_id 列设为 NULL。
如何强制 OpenJPA 删除 OneToMany 相关条目,而不是在列中放置空值?
我不会接受假设我的数据库架构不好的答案:) MyUserTableData 表基本上是一个外键表,它将用户连接到另一个实体,但包含更多信息,然后只是一个外键,它将一些元数据添加到既不属于用户也不属于其他实体的外键。
谢谢!
塞巴斯蒂安