java - 如何更改 Hibernate Tools 反向工程 DAO 类的名称?

标签 java hibernate reverse-engineering freemarker hibernate-tools

所以我正在尝试使用 Hibernate Tools 对我的数据库进行逆向工程,而我刚刚开始使用 Freemarker 模板来弱化它生成的代码。问题是我想更改它生成的 DAO 类的名称。默认情况下,DAO 类以 PersonH​​ome 的形式命名,但是为了将名称更改为 PersonDAO,我修改了 dao/daohome.ftl。

虽然这确实将生成的类名称更改为 PersonDAO,但 java 文件仍称为 PersonH​​ome.java。

有没有地方我也可以更改生成的文件名以匹配源代码?

最佳答案

好吧,我自己已经弄清楚了。似乎虽然 Hibernate 工具确实支持更改文件名,但 Eclipse 的 Hibernate 工具插件中并未公开该功能,这令人沮丧。相反,我不得不创建一个 ant 构建脚本来运行逆向工程,如下所示。

<project name="Reverse Engineer" basedir=".">

<path id="toolslib">
 <path location="lib/hibernate3.jar" />
 <path location="lib/hibernate-tools.jar" />
 <path location="lib/freemarker.jar" />
 ...
 <path location="${jdbc.driver.jar}" />
</path>


<taskdef name="hibernatetool" 
         classname="org.hibernate.tool.ant.HibernateToolTask" 
         classpathref="toolslib" />


<hibernatetool destdir="src">
   <jdbcconfiguration 
        configurationfile="src/hibernate.cfg.xml"
        packagename="my.package.name"
        revengfile="hibernate.reveng.xml">
   </jdbcconfiguration>

   <hbmtemplate destdir="src" 
        templatepath="templates"
        template="dao/daohome.ftl"
        filepattern="{package-name}/{class-name}DAO.java">
            <property key="ejb3" value="false" />
            <property key="jdk5" value="true" />
            <property key="sessionFactoryName" value="my.HibernateSessionFactory" />
        </hbmtemplate>

    </hibernatetool>

关于java - 如何更改 Hibernate Tools 反向工程 DAO 类的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3590417/

相关文章:

java - java.lang.String 类型中没有@DynamoDBHashKey 注释的方法或字段

java - 使用 hibernate 与 spring data jpa 和 mysql 组合主键

macos - 你如何在 OSX 中调试 libc?

java - 逆向工程 Java *.class 文件以更改变量的数据类型

java - BufferedWriter 中的非英文字母

java - 非常快地将多行插入 Oracle 数据库

java - Hibernate 多值关联最佳实践

java - 使用 Hibernate 批量插入或更新?

javascript - 对 Javascript 对象进行逆向工程?

java - spullara mustache java 偏音