У меня есть две сущности с отношениями OneToMany
Resource.java
@OneToMany(fetch = FetchType.LAZY, cascade = { CascadeType.ALL}, mappedBy="resource", orphanRemoval = true)
private Set<Skills> skills = new HashSet<Skills>();
, а другой объект - Skills.java
@Id
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name = "RESOURCE_CODE", unique = false, nullable = false, foreignKey = @ForeignKey(name = "fk_resource_primary_skills_map_resource_code"))
@Audited(withModifiedFlag = true, targetAuditMode = RelationTargetAuditMode.NOT_AUDITED, modifiedColumnName = "RESOURCE_CODE_MOD")
private Resource resource;
Я бы добавил / обновил / удалил навыки ресурса за один раз.
для этого я пытаюсь очистить все существующие навыки и добавив новый набор навыков
resourceObject.getSkills().clear();
resourceObject.getSkills().addAll(skills);
добавить / удалить работают нормально. но обновление не работает.
я вижу ниже исключение
a different object with the same identifier value was already associated with the session
Я попробовал entityManager.flush и новые транзакции, но ничего не помогло