【发布时间】:2010-01-24 06:19:21
【问题描述】:
假设我有两个实体,一个父对象和一个子对象。我希望孩子具有与父实体和引用指定的关系,但我不希望父母必须知道它。这样做的原因是存在许多这样的关系,并且明确指定所有这些子对象的关系将意味着不断更新和污染父对象。但是我仍然希望删除父对象以级联到子对象。作为附加约束,子对象只能通过设置引用父 ID 的属性来设置对父实体的引用。假设我有类似的东西:
@Entity
class Child {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Column(nullable=false)
private Long parentId;
@ManyToOne(fetch=FetchType.LAZY, optional=false)
@JoinColumn(name="parentId", insertable=false, updatable=false, nullable=false, unique=false)
private Parent parentEntity;
// etc...
}
@Entity
class Parent {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
// etc...
}
那么有没有什么方法可以在不给父实体增加额外关系的情况下将父对象的删除级联到子对象?
最好使用仅使用 JPA 注释的解决方案,但我们将不胜感激。
【问题讨论】:
标签: java hibernate jpa annotations