У меня есть отношение «многие ко многим» между постоянным объектом (полученным по запросу) и вновь созданным временным объектом (созданным с помощью new , еще не сохраненным).Они связаны через ассоциацию @JoinTable, например:
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name = "adccollectiontype_cn_node_type", joinColumns = {
@JoinColumn(name = "idadccollectiontype")
}, inverseJoinColumns = {
@JoinColumn(name = "idcn_node_type")
})
и на другом конце:
@ManyToMany(mappedBy="cnNodeTypes", cascade=CascadeType.ALL)
Примечание CascadeType.ALL
.
Если я простосоздайте связь между этими двумя объектами, добавив каждый в коллекцию другого и сохранив его позже (другой объект и полагаясь на каскад), тогда таблица объединения не обновляется.
Однако, если я вручную persist
,Временный объект перед выполнением ассоциации, кажется, работает.
Теперь я попытался найти некоторую информацию об этом случае, почему и как он работает, но я не смог найти никакого объяснения.Может быть, кто-то может просветить меня, правильно ли то, что я предполагаю, и причина этого.