【问题标题】:Delete a referenced/OneToMany relation instead of "Nulling" the column删除引用/OneToMany 关系而不是“清空”列
【发布时间】:2012-10-04 12:02:55
【问题描述】:

我们有两个实体:

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 表基本上是一个外键表,它将用户连接到另一个实体,但包含更多信息,然后只是一个外键,它添加了一些元既不属于用户也不属于其他实体的外键数据。

谢谢!

塞巴斯蒂安

【问题讨论】:

    标签: java jpa one-to-many openjpa


    【解决方案1】:

    我能够解决我的问题:

    http://openjpa.apache.org/builds/1.0.4/apache-openjpa-1.0.4/docs/manual/manual.html#dependent

    @ElementDependent => 完全符合我的要求。

    【讨论】:

      猜你喜欢
      • 2021-10-14
      • 2014-08-02
      • 2018-10-24
      • 2021-01-29
      • 2016-09-03
      • 2015-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多