I followed the example here in the guide with a little modification in order to trigger a process whether it is inserted or deleted.
@TransactionalEventListener
public void onHolidayCalendarDayChangedAfterCommit(EntityChangedEvent<HolidayCalendarDay> event) {
try {
HolidayCalendarDay holidayCalendarDay = dataManager.load(HolidayCalendarDay.class)
.query("select h from mdg_HolidayCalendarDay h " +
"where h.id = :id1")
.parameter("id1", event.getEntityId())
.fetchPlan("holidayCalendarDay-HolidayCal-fetch-plan")
.joinTransaction(false)
.one();
HolidayCalendar holidayCalendar = holidayCalendarDay.getHolidayCalendar();
String name = holidayCalendar.getName();
//Current year
myServiceBean.buildHolidayCalendarDetail(holidayCalendarDay.getHolidayCalendar(), "cy");
} catch (Exception e) {
log.error("Error handling Customer changes after commit", e);
}
}
It works well except when an entity of HolidayCalendarDay is deleted. When I debugged, I see the cursor is stopped at the query stage.