我正在使用 Hibernate、Maven 和 Eclipse(STS 构建)构建一个项目。我正在使用 hbm.xml 文件来指定我的架构。我想使用 Hibernate 的 hbm2java 来生成我的模型类。我让它运行良好并生成了我想要的代码。
它从命令行完美运行,生成模型代码,然后按预期构建和测试。
然而,Eclipse 似乎无法处理它。它会周期性地“失去理智”并且无法解析我的 DAO 类中引用的非常简单的导入和类,它们是手工编码的。它找不到的东西是像 HibernateUtil 这样的类。具有讽刺意味的是,查找模型类似乎没有任何问题。
未解析的类在运行结束时位于 target/classes/blah-blah 文件夹中。所以它们显然被复制到了正确的位置。
在“持续集成”环境中,是否最好生成一次源代码,将它们提交到我的版本控制,然后禁用代码生成?或者是否有可能每次都生成代码,从而确保我在没有人为干预的情况下获取任何数据库更改?
最佳答案
恕我直言,实体应该是您应用程序的核心,并且应该小心设计、实现和记录。它们应该是对象,具有封装行为的方法。让它们自动生成是荒谬的,IMO。
在一开始就生成它们可能是让您入门的一种选择,但是一旦生成它们,请手工制作它们并且不要再次生成它们。在架构更改时添加必要的属性和方法,并重构现有代码。
顺便说一句,我真的更喜欢使用注释进行映射,因为它不那么冗长,不容易出错,而且所有信息都在一个地方。
关于eclipse - 使用 Hibernate 的 hbm2java 的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8685301/