0

Ниже представлен мой файл сопоставления спящего режима. Я хочу сгенерировать метод toString и equals с помощью спящий инструмент ant.hibernate tools toString и equals метод генерации

<class name="org.hibernate.db.Country" table="country" catalog="world"> 
    <meta attribute="use-in-tostring">true</meta> 
    <meta attribute="use-in-equals">true</meta> 
    <id name="code" type="string"> 
     <column name="Code" length="3" /> 
     <generator class="assigned" /> 
    </id>  
</class> 

но я не могу сгенерировать метод toString или equals, есть ли что-то не так в этом файле сопоставления.

Я проверил файлы hibernate-mapping-3.0.dtd и hibernate-reverse-engineering-3.0.dtd, которые являются актуальными.

С наилучшими пожеланиями,
Вивек С. Шах

+0

хмм, один год назад кто-то имел такую ​​же проблему - без ответа:/http://stackoverflow.com/questions/4945160/how-to-get-hibernate-tools-to-generate-pojos-with -tostring-equals-and-hashcode – Christian

+0

Возможно эта нить помогает? http://stackoverflow.com/questions/2523826/hibernate-generate-pojos-with-equals – Christian

ответ

0

Это может быть потому, что вы пропустили имя = «страна» собственность на уровне класса.

Я проверил в hibernate 4, добавив метаданные в файл сопоставления hiernate, методы equals и hashcode создают, как ожидалось.

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping> 
    <class entity-name="com.hrdb.Employee" name="Employee" table="EMPLOYEE" schema="PUBLIC"> 
     <meta attribute="use-in-tostring">true</meta> 
     <meta attribute="use-in-equals">true</meta> 
     <id name="eid" type="integer"> 
      <column name="EID" length="255" not-null="true" precision="19"/> 
      <generator class="identity"/> 
     </id> 
     <property name="firstname" type="string"> 
      <column name="FIRSTNAME" length="255" not-null="false" precision="19"/> 
     </property> 

Вы также можете определить эти метаданные на уровне свойств.

<property name="name" type="string"> 
     <meta attribute="use-in-tostring">true</meta> 
     <meta attribute="use-in-equals">true</meta>  
</property> 

 Смежные вопросы

  • Нет связанных вопросов^_^