eclipse - 使用 Hibernate 的 hbm2java 的最佳实践是什么?

标签 eclipse hibernate continuous-integration m2eclipse hbm2java

我正在使用 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/

相关文章:

java - 服务器抛出 OptimisticLockException 后事务没有完全回滚

hibernate 异常 : No session currently bound to execution context

jenkins - 配置更改后自动运行 Jenkins 构建

php - Jenkins 和 PHP 项目的 Jenkins 作业模板

msbuild - Mercurial/Kiln + MSBuild + MSTest 的持续集成建议

eclipse - 如何删除 eclipse RCP 中的弹出菜单贡献

linux - 团队是否可以使用安装在共享网络驱动器上的 Eclipse?

java - 使用 DB2 和 Java(以及 Hibernate?)将 XML 转换为关系型

java - 包含汉字的字符串转ASCII

java - Eclipse 找不到从 R.java 生成的 id