hibernate генерирует класс pojo с именем поля = именем столбца базы данных - PullRequest
0 голосов
/ 17 ноября 2010

Когда я использую плагин hibernate eclipse для генерации java-класса из моей таблицы, имя частного поля совпадает с именем моей таблицы. Могу ли я сделать так, чтобы оно совпадало с именем моего столбца?

Например:

table: User
column : name (string)
column : homeAddressId (fk to addressTable)

Сгенерированный класс прямо сейчас:

User{ 
private String name;
private Address address;
}

Я хочу, чтобы это было:

User{
private String name;
private Address homeAddress;
}

Есть ли настройки для этого?

Большое спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 17 ноября 2010

может быть проблема в понимании между вами и спящим.На самом деле, что я вижу, есть внешний ключ с другой таблицей, который Address, а не homeAddress.

. Вы также можете опубликовать структуру другой таблицы (адрес).

какесли другое имя таблицы - Address, то плагин hibernate связывается для создания атрибута create с именем address, так как я считаю, что плагин не обладает собственным интеллектом.

0 голосов
/ 17 ноября 2010

Прежде всего, ваш домен должен быть таким, как вы этого хотите.Если вам нужно внести дополнительные изменения в отображение (ORM), вам может потребоваться сделать это в файле hibernate-conf.xml.Сгенерированный класс и текущий класс совпадают.Например, user.xml будет выглядеть примерно так:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 <hibernate-mapping>
 <class  name="User" table="ADMIN_USER_TBL">
 <id name="id" type="string" column="ADMIN_USER_ID">
        <generator class="assigned" />
 </id>
 <property name="name" column="FIRST_NAME" />
 ...
</class>
</hibernate-mapping>

Затем создайте сопоставление для адреса:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 <hibernate-mapping>
 <class  name="Address" table="ADDRESS_TBL">
 <id name="id" type="string" column="ADMIN_USER_ID">
        <generator class="assigned" />
 </id>
 <property name="address" column="ADDRESS1" />
 <property name="address2" column="ADDRESS2" />
 <property name="city" column="ADDRESS_CITY" />
 <property name="state" column="ADDRESS_STATE" />
 <property name="zip" column="ADDRESS_ZIP" />
 ...
</class>
</hibernate-mapping>

Дайте мне знать, если это поможет!;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...