我的项目中有一个设计问题,与一些业务逻辑的放置位置有关。
我有三个实体,Event、TicketOrder 和 Ticket。一个 Event 有很多 TicketOrder,而一个 TicketOrder 有很多门票。
在我的模板中,我必须显示一个 Event 有多少张门票。我一直在考虑实现这一目标的最佳方法,但没有得到好的解决方案。我试过这个:
1) 在 Event 实体中创建一个私有成员 'ticketsCount',使用 setTicketsCount 和 getTicketsCount 方法。使用 LifeCycleCallback 'PostLoad' 创建一个 'loadTicketsCount' 方法,以访问 TicketRepository 方法 'findByEvent'。这是不可能的,因为我无法访问实体类中的存储库。
2) 在将用于显示事件的操作中,我可以访问 Ticket Repository 并手动设置事件“ticketsCount”属性。我不知道这是否是一个好方法,因为如果我的操作列出了很多事件,我将不得不遍历所有事件并对每个事件进行存储库调用。
我真的不知道实现这一目标的最佳方法,如果有人可以帮助我,我将不胜感激。
谢谢!;)