Java的时态库

时间:2010-10-25 21:13:32

标签: java hibernate time temporal

我正在寻找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集并不容易。

2 个答案:

答案 0 :(得分:4)

看看DaoFusion框架,它充当了与Hibernate紧密集成的双时态框架。它应该是你正在寻找的。

引自链接网站:

  

双时态模式提供了一种处理大多数时间问题的优雅而复杂的方式。 DAO Fusion提供的双时间模式实现建立在Erwin Vervaet和Christophe Vanfleteren创建的bitemporal framework之上。您可以通过演示Temporal Issues in a Rich Domain Model了解有关此框架的更多信息。

答案 1 :(得分:2)

查看Deuce STM - Java软件事务内存。