2010-06-02 3 views
2

J'ai des entités qui ont besoin de la gestion des versions et from time to time, i will need to retrieve old version of the entity. dois-je utiliserjboss envers pour le versioning?

options disponibles

1. http://stackoverflow.com/questions/762405/database-data-versioning 
2. jboss envers (can this be used on any web server,tomcat,jetty, appengine) ? 
3. any similar library like jboss envers that ease to do versioning? 

Répondre

2

JBoss Envers peut être utilisé toujours lorsque vous utilisez Hibernate en tant que fournisseur de persistance. Il est en fait livré avec le nouveau Hibernate 3.5. Envers est un excellent outil, mais j'ai un inconvénient: vous ne pouvez utiliser que des entités qui agrègent les entités versionnées. Cela signifie que si vous voulez la version Entité A et qu'elle a des champs de types B et C, qui sont aussi des entités - B et C doivent aussi être versionnés avec envers - si vos entités ont un couplage serré (ce qui est mauvais, mais est assez possible), vous devrez mettre à jour l'ensemble du projet et il y a des frais généraux à cela.

Nous avons personnellement opté pour une solution de versionnage personnalisée plus légère après avoir étudié Envers, mais si cela correspond à votre budget, vous devez absolument l'utiliser. Je ne suis pas au courant d'autres outils offrant ses capacités.

+0

Pouvez-vous nous en dire un peu plus sur votre solution personnalisée? – boyd4715