id numeric(19,2) identity not null
本以為export出sql且ant回應build success是ok的,但發現table根本沒有create,將sql整個執行過後發現,sybase(可能其他DB也是有)要求numeric(19,0)才能正常運作,我針對id的宣告如下:
<id name="id" column="id" type="big_integer">
<meta attribute="field-description">xxx</meta>
<meta attribute="use-in-tostring">true</meta>
<meta attribute="use-in-equals">true</meta>
<generator class="native" />
</id>
想說就直接加成這樣,將precision設成10,scale設成0
<id name="id" type="big_integer">
<column name="id" precision="10" scale="0" />
<meta attribute="field-description">xxx</meta>
<meta attribute="use-in-tostring">true</meta>
<meta attribute="use-in-equals">true</meta>
<generator class="native" />
</id>
但~ 不能用,找了很久的資料都找不到,結果跟generator一樣,是順序問題,如下設定就好了
<id name="id" type="big_integer">
<meta attribute="field-description">xxx</meta>
<meta attribute="use-in-tostring">true</meta>
<meta attribute="use-in-equals">true</meta>
<column name="id" precision="10" scale="0" />
<generator class="native" />
</id>
參考網址:
Chapter 5. Basic O/R Mapping
Re: want to force scale=0 attr in hbm for BigInteger
沒有留言:
張貼留言