hibernate使用字段名称=数据库列名生成pojo类

时间:2010-11-17 02:41:44

标签: java hibernate

当我使用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 :(得分:0)

在此之前,您的域名应该是您想要的。如果需要对映射(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>

如果有帮助,请告诉我! ;)

答案 1 :(得分:0)

你和hibernate之间的理解可能存在问题。实际上,我看到,有一个外键与其他表Address,而不是homeAddress

你还可以发布其他表(地址)结构。

就好像另一个表名是Address那么hibernate插件是绑定来创建名为address的创建属性,因为我觉得插件没有自己的智能。