У меня есть три объекта -
public class ApplicationEntity extends ModelEntity implements Application {
@ManyToOne(fetch = FetchType.LAZY, optional = false, cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
private CategoryEntity category;
@ManyToMany(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
@JoinTable(
joinColumns = {@JoinColumn(name = "APPLICATION_ID")},
inverseJoinColumns = {@JoinColumn(name = "USER_ID")},
uniqueConstraints = {@UniqueConstraint(columnNames = {"APPLICATION_ID", "USER_ID"})
})
private List<UserEntity> buyers = new ArrayList<UserEntity>();}
public class CategoryEntity extends ModelEntity implements Category {
@Column(nullable = false)
private String name;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List<ApplicationEntity> applications = new ArrayList<ApplicationEntity>();
}
public class UserEntity extends AbstractEntity implements User {
}
При попытке удалить AppliationEntity я получаю исключение нарушения ограничений.Я попытался удалить запись приложения из CategoryEntity, а затем удалить ApplicationEntity.Но все равно не получается.Исключением является что-то вроде -
Caused by: java.sql.SQLException: DELETE on table 'APPLICATIONENTITY' caused a violation of foreign key constraint 'FK109DF15D362F642' for key (32779). The statement has been rolled back.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
... 61 more
Caused by: ERROR 23503: DELETE on table 'APPLICATIONENTITY' caused a violation of foreign key constraint 'FK109DF15D362F642' for key (32779). The statement has been rolled back.
Любое предложение высоко ценится.Заранее спасибо.