Hibernate @OneToMany remove child from list when updating parent
Instead of replacing the collection (team.setUserTeamRoles(new HashSet<UserTeamRole>());) you have to clear() the existing one. This happens because if Hibernate loads the entity (and its collections) from DB, it “manages” them, ie. tracks their changes. Generally when using Hibernate it’s better not to create any setters for collections (lists, sets). Create only the getter, and clear … Read more