我有一个Company实体,它与Location有一对多的关系。(一个公司可以有多个地点)。
Location有一个布尔值"isPrimaryLocation"。
在保存(新建/编辑)位置到数据库之前,我总是希望检查以下逻辑:
强制执行,如果有一个公司的位置,必须有一个isPrimaryLocation和最大一个位置是isPrimaryLocation。
我的问题是:
- 这是可以强制与原则注释?
- 这是我应该做的事情与LifeCycleCallbacks和PrePersist吗?
- 这是我应该与自定义事件和一个EventListener ?
我会在prePersist事件中添加一个自定义EventListener