У меня возникают проблемы при разработке способа массового удаления объекта Person с использованием JPA, когда объекты 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: нарушение ограничения целостности: внешний ключ не выполняется;FKCEC6E942485388AB таблица: PERSON_EMAIL
Если это может быть чистая аннотация JPA, а не аннотация Hibernate, которая будет бонусом!