我有一个简单的场景(类被简化):
@Entity
@RooJavaBean
@RooToString
@RooJpaActiveRecord( finders = {"findEventsByBeginTime"})
class Event{
@OneToMany
@OrderBy("beginTime ASC")
Set<EventStage> stages;
Date beginTime;
Date endTime;
}
和
@Entity
@RooJavaBean
@RooToString
@RooJpaActiveRecord
class EventStage{
@ManyToOne
Event parentEvent;
Date beginTime;
Date endTime;
}
每当对 EventStage 进行更改时,我想根据最早和最新的 EventStage 更新父 Event.beginTime 和 Event.endTime。
有没有办法(Roo、Hibernate、Spring)在项目被修改时通知?它必须适用于添加新的 EventStage 和删除现有的 EventStage。当然我可以通过一些蛮力检查来接近它,但我正在寻找更复杂的方法。