Hibernate Tools和不断变化的数据库

时间:2020-03-05 18:58:09  来源:igfitidea点击:

我目前正在使用Hibernate Tools 3.1;我自定义了命名约定和DAO模板。数据库(SQL Server 2005)处于早期开发阶段,我负责重建映射,实体,DAO,配置等。每次我不得不对表进行反向工程时,都会丢失对映射(* .hbm.xml文件)所做的所有自定义操作,例如调整标识列,选择equals和toString中使用的字段。我当时正在考虑将diff XML写入文件中,然后将其"合并"到生成的映射中(请参阅我的相关问题),但是我想知道……是否有最佳实践/工具来处理这些令人讨厌,不可避免的关键任务?

解决方案

回答

我强烈建议我们不要进行持续的逆向工程。逆向工程是一件伟大的事情,但是需要将更改作为对hbm和数据库的更改进行管理。

我们使用迁移来管理数据库更改,并将相关的更改包括在hbm中。如果Hibernate拥有它(我相信确实如此),则我们可能希望查看注释而不是hbm,它们可以更容易维护。