【发布时间】:2011-04-23 14:58:58
【问题描述】:
当 Person 对象包含使用 @ElementCollection 存储的数据时,我无法确定如何使用 JPA 批量删除 Person 对象。任何关于如何做到这一点的想法将不胜感激。
@Entity
@Table(name="at_person")
public class Person implements Comparable<Person> {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private long id = 0;
@Column(name="name", nullable = true, length = 128)
private String name = "";
@ElementCollection
@Column(name = "email")
@CollectionTable(name = "person_email", joinColumns = @JoinColumn(name = "person_id"))
private Set<String> email = new HashSet<String>();
}
我现在正在做的是这个,它失败并出现外键约束错误:
Query query=em.createQuery("DELETE FROM Person");
原因:java.sql.SQLException:违反完整性约束: 外键无动作; FKCEC6E942485388AB 表:PERSON_EMAIL
如果它可以是纯 JPA 注释而不是 Hibernate 注释,那将是一个奖励!
【问题讨论】:
标签: java hibernate orm jpa jpa-2.0