У меня есть проблема с определением ассоциаций, это мой код:
Classe ModuleVersion
@ManyToMany(mappedBy="listModuleVersions")
private List<SuiteVersion> suiteVersions = new ArrayList<SuiteVersion>();
Classe SuiteVersion
@ManyToMany()
private List<ModuleVersion> listModuleVersions = new ArrayList<ModuleVersion>();*
Я хотел бы иметь возможность автоматически удалять версию пакета или версию модуля с удалением ассоциации.Например, если я удаляю SuiteVersion с этим кодом, автоматически удаляется связь SuiteVersion с ModuleVersion.Но если я удаляю moduleVersion, он автоматически не удаляет ассоциацию SuiteVersion -> ModuleVersion.Это можно сделать автоматически с помощью ModuleVersion?
Обновление
Это действие, выполняемое hibernate, если я удаляю модуль с добавлением CASCADETYPE.УДАЛИТЬ ...
Hibernate: delete from SUITE_VERSION_MODULE_VERSION where suiteVersions_ID_SUITE_VERSION=?
Hibernate: delete from SUITE_VERSION_MODULE_VERSION where suiteVersions_ID_SUITE_VERSION=?
Hibernate: delete from SUITE_VERSION_MODULE_VERSION where suiteVersions_ID_SUITE_VERSION=?
Hibernate: delete from SUITE_VERSION_MODULE_VERSION where suiteVersions_ID_SUITE_VERSION=?
Hibernate: delete from SUITE_VERSION_MODULE_VERSION where suiteVersions_ID_SUITE_VERSION=?
//Hibernate: delete from SUITE_VERSION where ID_SUITE_VERSION=?
//Hibernate: delete from SUITE_VERSION where ID_SUITE_VERSION=?
Hibernate: delete from MODULE_VERSION where ID_MODULE_VERSION=?
//Hibernate: delete from SUITE_VERSION where ID_SUITE_VERSION=?
//Hibernate: delete from SUITE_VERSION where ID_SUITE_VERSION=?
Hibernate: delete from MODULE_VERSION where ID_MODULE_VERSION=?
//Hibernate: delete from SUITE_VERSION where ID_SUITE_VERSION=?
Hibernate: delete from MODULE_VERSION where ID_MODULE_VERSION=?
Hibernate: delete from MODULE where ID_MODULE=?
Я просто хочу, чтобы ни одна из частей не была выполнена.Заранее спасибо за помощь,
Обновление2
Я пытался удалить модуль с помощью этого метода реализации:
public static void removeModule(Module module) {
for(ModuleVersion moduleVersion : module.getListModuleVersion()){
for(SuiteVersion suiteVersion : moduleVersion.getSuiteVersions()){
sessionFactory = HibernateFactory.getSessionFactory();
session = sessionFactory.getCurrentSession();
transaction = session.beginTransaction();
suiteVersion.removeFromModuleVersions(moduleVersion);
transaction.commit();
}
}
sessionFactory = HibernateFactory.getSessionFactory();
session = sessionFactory.getCurrentSession();
session.delete(module);
transaction.commit();
}
Но у меня естьэта проблема сейчас:
Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException
С наилучшими пожеланиями,
Флоран.
PS: Я француз, извините за мой английский.