使用Hibernate的hbm2java有哪些最佳实践?

Mar*_*rvo 2 eclipse continuous-integration hibernate hbm2java m2eclipse

我正在使用Hibernate,Maven和Eclipse(STS构建)来构建项目.我正在使用hbm.xml文件来指定我的架构.我想使用Hibernate的hbm2java来生成我的模型类.我有它运作良好,并生成我想要的代码类型.

它从命令行完美运行,生成模型代码,然后按预期构建和测试.

但是,Eclipse似乎无法处理它.它将定期"失去理智"并且无法解决我的DAO类中引用的非常简单的导入和类,这些类是手动编码的.它找不到的东西是像HibernateUtil这样的类.具有讽刺意味的是,它似乎没有找到模型类的麻烦.

未解析的类在运行结束时位于target/classes/blah-blah文件夹中.所以他们显然被复制到了正确的地方.

在"持续集成"环境中,最好是生成一次源,将它们提交到我的版本控制,然后禁用代码生成?或者是否可以每次生成代码,从而确保我在没有人为干预的情况下获取任何数据库更改?

JB *_*zet 5

恕我直言,实体应该是您的应用程序的核心,并且应该谨慎设计,实施和记录.它们应该是对象,方法封装行为.IMO,让它们自动生成是荒谬的.

从一开始就生成它们可能是一个让你入门的选择,但是一旦生成它们,就会手工制作它们并且不再生成它们.在架构更改时添加必要的属性和方法,并重构现有代码.

顺便说一下,我更喜欢使用注释来进行映射,因为它不那么冗长,不易出错,并且所有信息都在一个地方.

  • 我们使用注释,但发现它们完全相反:看起来非常丑陋,并且遍布整个代码.使用hbm文件,感觉就像数据库定义都在一个地方.但我还没有确定这一点.(尽管我有疑问,我真的很感激你的回答.) (2认同)