我在使用JPA进行批量删除Person对象时遇到了问题,其中Person对象包含使用@ElementCollection存储的数据。有没有什么好的方法可以实现这个功能呢?谢谢。
@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: integrity constraint violation: foreign key no action; FKCEC6E942485388AB table: PERSON_EMAIL
如果可以使用纯JPA注解而不是Hibernate注解,那将是一个额外的奖励!