我有一个预订课程,其中包含一系列预订。
预订有startDate
和endDate
。
如果我有2次预订(日期格式:dd / MM / yyyy):
booking1.startDate = 01-04-2015
booking1.endDate = 03-04-2015
booking2.startDate = 03-04-2015
booking2.endDate = 10-04-2015
然后我可以创建一个从booking1到booking2的动作。
我的移动类有一个复合主键:{fromBooking.Id, toBooking.Id}
在此实例中fromBookingId = booking1.Id
和toBookingId = booking2.id
这一切都有效。我的问题是我该怎么做才能创建第3张预订,从而对我们的预订系列进行以下更新:
booking1.startDate = 01-04-2015
booking1.endDate = 02-04-2015
booking3.startDate = 02-04-2015
booking3.startDate = 06-04-2015
booking2.startDate = 06-04-2015
booking2.endDate = 10-04-2015
移动表将要求删除现有的移动行并插入2个新行。
我是否应该手动检查预订中每次预订更新的所有动作,并删除那些已被弃用的动作?
或者是否有更优雅的解决方案可能在Db上使用触发器?
感谢您抽出宝贵时间来研究这个问题。