如何使用 Hibernate Tools 生成带有 toString、equals 和 hashcode 的 POJO?

2024-04-11

用于 eclipse 的 Hibernate Tools 插件(版本 3.2.4)

Hi all,
我正在使用该插件从 DB-Schema 对 POJO 和 DAO 进行逆向工程,并且由于某种原因,未在 POJO 中创建 toString、equals 和 hashcode 方法。
我正在做的事情如下: 创建一个新的 JPA 项目。
配置其 persistence.xml 文件,如下所示:

<persistence-unit name="PU">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="hibernate.connection.password" value="pass"/>
<property name="hibernate.connection.url" value="jdbc:sqlserver://****:1433;DatabaseName=myDB"/>
<property name="hibernate.connection.username" value="user"/>
<property name="hibernate.default_catalog" value="myDB"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>
<property name="hibernate.connection.schema" value="dbo"/>

<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="false"/>

创建了一个 hibernate.reveng.xml 文件以仅在我的目录中选择我的 dbo scehma 。
然后创建一个类型为 JPA 的 Hibernate 控制台配置以及从 JPA 配置中获取的连接,最后配置持久性单元。
使用 Hibernate 代码生成配置创建一个新配置,其中我启用了“来自 JDBC 连接的反向工程师”,定义了输出目录、包和 reveng 文件。
此外,我选中了该选项卡中的所有复选框(除了使用自定义模板之外)。
在出口商选项卡中我使用:
1.使用Java 5语法。
2. 生成EJB3注释。
并使用“域代码”和“DAO 代码”导出器。
这工作正常(在解决了 DTP 插件兼容性的一些问题之后)。
主要问题是我在 Pojo.ftl 中看到以下表达式:

<#include "PojoToString.ftl"/>
<#include "PojoEqualsHashcode.ftl"/>

在 PojoToString.ftl 中我看到:

<#if pojo.needsToString()> 

我可以在哪里设置这个属性?我希望我所有的 pojo 都需要 toString、equals 和 hashcode?

先感谢您


这假设使用默认的 Hibernate Tools/JBoss Tools

您可以使用要调用 toString() 或 equals() 的每一列来定义它。将其提供为meta http://docs.redhat.com/docs/en-US/JBoss_Developer_Studio/4.0/html/Hibernate_Tools_Reference_Guide/codegen.html#id4628175财产

<table schema="public" name="someName" class="com.stackovervlow">
        <primary-key>

        </primary-key>
        <column name="xx" property="id" type="long">
            <meta attribute="use-in-tostring">true</meta>
            <meta attribute="scope-set">private</meta>
        </column>
        <column name="yy">
            <meta attribute="use-in-tostring">true</meta>
            <meta attribute="use-in-equals">true</meta>
        </column>   
    </table>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Hibernate Tools 生成带有 toString、equals 和 hashcode 的 POJO? 的相关文章

随机推荐