Есть классы Questionnaire и Resource, связанные ManyToMany. Связь я описал только в одном классе - Questionnaire
| Код | @Entity public class Questionnaire implements Serializable { ... @ManyToMany(targetEntity = Resource.class, cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER) @JoinTable(name = "tres_to_q_association", joinColumns = {@JoinColumn(name = "f_questionnaire")}, inverseJoinColumns = {@JoinColumn(name = "f_resource")}) private Set<Resource> resources; ...
|
Далее хочу сделать вот что - скопировать экземпляр Questionnaire и связать его с Resources оригинала.
| Код | ... Set<Resource> resources = originalQuestionnaire.getResources(); copiedQuestionnaire.setResources(resources); getQuestionnaireManager().updateQuestionnaire(copiedQuestionnaire); ...
|
Метод updateQuestionnaire(Questionnaire questionnaire) делает следующее
| Код | getHibernateTemplate().update(questionnaire);
|
Связи для нового объекта устанавливаются, но при этом удаляются связи у старого объекта Не хотелось бы так, хочу чтобы старые связи оставались на месте и только добавлялись новые. Что подкрутить? |