如何強制hibernate生成數據庫模式,以便將CamelCase轉換爲Underscores(使用HBM)?例如。我有:休眠時使用下劃線生成列和表名稱
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="cz.csas.pdb.be.model.product.passive">
<class name="foo.BarBaz">
<id name="barBazId">
<generator class="sequence"/>
</id>
<property name="extractContactType"/>
<!-- ... -->
</class>
</hibernate-mapping>
而且我想冬眠創建表像這樣(甲骨文):
CREATE TABLE "BAR_BAZ"
(
"BAR_BAZ_ID" NUMBER(19,0) NOT NULL ENABLE,
"EXTRACT_CONTACT_TYPE" VARCHAR2(512 CHAR),
-- PK etc...
)
我知道我可以在hbm.xml文件中使用的表/列名,但我想全局設置(既節省時間又防止錯誤)。
它看起來像它應該工作正常,但我得到一個異常 產生的原因:org.hibernate.MappingException:通過不同的物理那些引用相同的邏輯列名:account_charge.PASSIVEACCOUNT =>「passive_account」和「passiveaccount」; 對於簡單的多對一(accountCharge HBM具有「<多對一名稱=」passiveAccount「/>」)。 – 2011-03-09 10:24:02