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

时间:2011-12-31 00:12:16

标签: eclipse hibernate continuous-integration m2eclipse hbm2java

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

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

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

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

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

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:0)

试试这个:

从命令行遍历到项目pom.xml所在的项目目录并运行:

mvn eclipse:clean eclipse:eclipse

如果它说无法找到插件日食,那么试试:

mvn eclipse:install-plugin

首先再尝试上面的命令。

通过这种方式,所有maven和项目依赖项也将在eclipse级别解析。

如果这不是你想要的,请告诉我。