我正在寻找Java的时态库,即允许存储相同概念的多个历史版本的库。 我正在寻找一个具有API的库,可以执行以下操作:
Instant i1 = Instant.valueOf("2010-01-01");
Instant i2 = Instant.valueOf("2010-01-02");
Attribute<String> a = ....
a.setValue(i1, "String as of 2010-01-01");
a.setValue(i2, "String as of 2010-01-02");
您可以在nice articles by Martin Fowler
上找到有关时间问题的讨论我找到的一个库是JTemporal,这对我来说似乎相当不错,但它并不完整,缺乏对Hibernate持久性的支持。 我也想支持时间集,即在精确的时间点定义的集合。 JTemporal就是这样做的,但坚持Temporal集并不容易。
答案 0 :(得分:4)
看看DaoFusion框架,它充当了与Hibernate紧密集成的双时态框架。它应该是你正在寻找的。
引自链接网站:
双时态模式提供了一种处理大多数时间问题的优雅而复杂的方式。 DAO Fusion提供的双时间模式实现建立在Erwin Vervaet和Christophe Vanfleteren创建的bitemporal framework之上。您可以通过演示Temporal Issues in a Rich Domain Model了解有关此框架的更多信息。
答案 1 :(得分:2)
查看Deuce STM - Java软件事务内存。