Have a look at DaoFusion framework which acts as a bitemporal framework with tight integration into Hibernate. It should be exactly what you are looking for.
Quoted from the linked website:
Bitemporal pattern offers an elegant and sophisticated way of dealing with most temporal issues. The bitemporal pattern implementation offered by DAO Fusion builds upon a bitemporal framework created by Erwin Vervaet and Christophe Vanfleteren. You can learn more about this framework from their presentation Temporal Issues in a Rich Domain Model.