当我使用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;
}
有设置吗?
非常感谢你的帮助。
答案 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
的创建属性,因为我觉得插件没有自己的智能。