Java的时态库

cda*_*win 9 java time hibernate 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");
Run Code Online (Sandbox Code Playgroud)

您可以在Martin Fowler的文章中找到关于时间问题的讨论

我发现的一个库是JTemporal,这对我来说似乎相当不错,但它并不完整,缺乏对Hibernate持久性的支持.我也想支持时间集,即在精确的时间点定义的集合.JTemporal就是这样做的,但坚持TemporalSet并不容易.

ste*_*ase 4

看一下DaoFusion框架,它是一个与 Hibernate 紧密集成的双时态框架。它应该正是您正在寻找的。

引自链接网站:

双时态模式提供了一种优雅而复杂的方式来处理大多数时态问题。DAO Fusion 提供的双时态模式实现建立在Erwin Vervaet 和 Christophe Vanfleteren 创建的双时态框架之上。您可以从他们的演示文稿“丰富域模型中的时间问题”中了解有关此框架的更多信息。