使用元素集合时,如何在JPA中进行批量删除?
当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注释,那将是一个奖励!