簡體   English   中英

如何讓Hibernate Tools用toString,equals和hashcode生成POJO?

[英]How to get Hibernate Tools to generate POJOs with toString,equals and hashcode?

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

大家好,
我正在使用插件從我的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()> 

我在哪里可以設置此屬性? 我希望我的所有pojos都需要toString,equals和hashcode?

先感謝您

這假設是默認的Hibernate Tools / JBoss Tools

您可以使用要進行toString()或equals()調用的每個列來定義它。 將其作為屬性提供

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM