我需要使用 JPA 坚持一个随时间变化的集合的集合。
假设我一次Customer
制作多个 Orders
,我需要以下操作:
Customer c = new Customer();
Set<Order> o = new Set<Order>();
Instant validFrom = now(); // something similar
Instant validTo = infinity(); // something similar
c.setOrders(validFrom, validTo, o);
具有类似的结构
class TemporalSet<V> {
...
Instant validFrom;
Instant validTo;
Set<V> value;
}
并以客户为
class Customer {
Collection<TemporalSet<Order>> orders;
}
orders
我需要使用 JPA来坚持这个领域,但我不知道该怎么做。
过去,当我问如何处理时间属性时,有人建议我看一下DaoFusion 框架,其中包括Erwin Vervaet的双时间模式,但据我了解,它只能用于映射双时间属性(不是集合),因为映射是 OneToMany,所以第二面必须是单个值。
DaoFusion 的双时态模式部分显示的示例确实显示了一个与我类似的 Customer 和 Orders 示例,但据我了解,一次只能有一个订单,而不是订单集合。
我是否正确理解了该代码?
如何使用 JPA 处理时间集合?(我只需要有效时间,我不需要记录时间的双时态解决方案)
编辑:问题已更新,添加了 Customer 和 TemporalSet 的字段