【发布时间】:2011-03-03 09:16:56
【问题描述】:
我有两个实体,带有以下 JPA 注释:
@Entity
@Table(name = "Owner")
public class Owner implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private long id;
@OneToOne(fetch=FetchType.EAGER , cascade=CascadeType.ALL)
@JoinColumn(name="Data_id")
private Data Data;
}
@Entity
@Table(name = "Data")
public class Data implements Serializable
{
@Id
private long id;
}
Owner 和 Data 是一一对应的,拥有方是 Owner。 当我执行时出现问题: owner.setData(null) ; ownerDao.update(owner) ; “Owner”表的 Data_id 变为 null ,没错。
但“数据”行不会自动删除。 我必须编写另一个 DataDao 和另一个服务层来包装这两个操作( ownerDao.update(owner) ; dataDao.delete(data); )
是否可以在拥有所有者设置为空时自动删除数据行?
【问题讨论】:
标签: hibernate orm jpa one-to-one