首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hibernate“由hibernate工具生成”

Hibernate“由hibernate工具生成”
EN

Stack Overflow用户
提问于 2011-06-15 14:58:09
回答 2查看 3.2K关注 0票数 10

当我在eclipse中生成hibernate类时,所有的类文件都在更新,尽管现在在数据库中进行了真正的更改。大多数文件中唯一的变化是注释行: //由Hibernate Tools 3.4.0.CR1生成的2011年6:50:40 AM。

每次重新生成时更改这一行都不方便,因为它会中断对SVN中更改的跟踪。

有没有办法指示生成过程不生成此行?

EN

回答 2

Stack Overflow用户

发布于 2011-06-16 01:05:04

我发现了这个:https://forum.hibernate.org/viewtopic.php?f=6&t=989777&view=next

我使用的是Windows7和NetBeans 7,所以可以在这里找到hibernate-tools.jar文件:C:\Program Files\NetBeans 7.0\java\modules\ext\hibernate。由于Program Files目录通常是只读的,所以我必须使用以管理员权限打开的WinZip打开jar。要修改jar文件,必须关闭NetBeans。

然后,我只是导航到/pojo/Pojo.ftl文件(对于生成的.java文件)和hbm\hibernate-mapping.hbm.ftl文件(对于生成的.hbm.xml文件),并在记事本中打开它们。我只删除了$(date)部分,所以我保留了使用的Hibernate版本。当我将文件保存到记事本中时,Winzip检测到了更改,并询问我是否要更新.jar文件。

然后,当我重新启动NetBeans并重新生成我的文件时,日期已经过去了。做起来有点痛苦,但它很管用。

票数 3
EN

Stack Overflow用户

发布于 2011-06-26 23:20:36

定制freemarker模板(如CuppM所解释的)是一种方法。不过,您不需要强制将定制的模板放回jar中。例如,如果您使用hibernate工具ant task,则可以指定"templatepath“和hbmtemplate属性:

代码语言:javascript
运行
复制
<hibernatetool destdir="hibernate-model-gen/pojo" templatepath="hibernate-model-gen/customized-templates">
    <jdbcconfiguration configurationfile="hibernate-model-gen/hibernate.cfg.xml" packagename="open.pub.proto.core.model" revengfile="hibernate-model-gen\gen-conf\hibernate.reveng.xml" detectmanytomany="true" />
    <hbmtemplate templateprefix="pojo/" template="pojo/Pojo.ftl" filepattern="{package-name}/{class-name}.java">
        <property key="jdk5" value="true" />
        <property key="ejb3" value="true" />
    </hbmtemplate>
</hibernatetool>

此外,最好在专用目录中生成pojo,而不是在源代码pojos中生成pojos。然后,您可以只复制源码pojos上已更改的pojos。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6354141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档