У меня есть две сущности Profil
и ProfilFunctionality
@Entity
@EntityListeners({ MyListner.class })
public class Profil {
@Column(nullable = false)
@UiInfo(name = "Libellé")
private String lib;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "profilId", cascade = CascadeType.ALL)
@JsonIgnoreProperties(value = { "profilId" }, allowSetters = true)
private List<ProfilFunctionality> profilFunctionalities;
...
@Entity
@EntityListeners({ MyListner.class })
public class ProfilFunctionality{
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@OnDelete(action = OnDeleteAction.CASCADE)
@UiInfo(name = "Profil")
private Profil profilId;
и класс слушателя MyListner
public class DomainObjectListener {
@PreUpdate
public void preUpdate(final Profil object) {
//code
}
Мой бизнес-класс :
@Service
@Transactional
@PermitAll
public class ProfilBP {
public Profil mergeProfilDTO(final ProfilDTO profilDTO) {
Profil profil = findById(profilDTO.getProfilId());
profil.setLib(profilDTO.getLib()); //preUpdate is called
List<ProfilFunctionality> profilFunctionalities= new ArrayList<>();
//code
profil.setProfilFunctionalities(profilFunctionalities); //preUpdate not called
//code
}
Проблема в том, что когда я редактирую библиотеку, вызывается метод preUpdate, но когда обновляется список ProfilFunctionality, метод preUpdate не вызывается.