4
我正在將我的grails項目從使用Hibernate XML遷移到在域類中定義的GORM。在一種現有的XML文件,規定了一個地圖:從休眠XML到GORM的Grails轉換
<?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 package="myproj" default-lazy="true">
<class name="Season" table="seasons">
<cache usage="read-only"/>
<comment>Season</comment>
<id name="id" type="long">
<generator class="assigned">
</generator>
</id>
<property name="seasonKey" column="season_key"/>
<many-to-one name="league" class="Affiliation" column="league_id"/>
<many-to-one name="publisher" class="Publisher"/>
// MAP STARTS HERE
<map name="seasonWeeks">
<cache usage="read-write"/>
<key column="season_id"></key>
<map-key column="week" type="int"/>
<one-to-many class="SeasonWeek"/>
</map>
</class>
</hibernate-mapping>
正如你所看到的,它會創建一個映射整數,SeasonWeek的。此代碼先前正在運行。
當我嘗試在GORM中重新創建Map時,它不起作用。 Grails的1.3.7(在我的版本)文件規定:
靜態的hasMany屬性定義 的 地圖內的元素的類型。地圖的鍵必須是 字符串。
在我的情況下,我不希望地圖是一個字符串。問題:
- 有沒有什麼辦法可以做我想要的?也許通過使用靜態映射var?
- 如果不是,我必須恢復舊的Hibernate XML文件嗎?我可以爲我的項目中的一個域類執行此操作,而其餘的XML文件沒有?
謝謝。