在以前的項(xiàng)目中用hibernate2的版本中可以用如下的寫法實(shí)現(xiàn)Oracle10g表ID的遞增(不設(shè)oracle的sequence和trigger)
在現(xiàn)在的項(xiàng)目中用hibernate3.2+oracle9i,好像hibernate3.2沒有了"vm"這個(gè)相應(yīng)的generator,只有很困難的找到一些關(guān)于"vm.long"和"vm.hex"的資料,但是怎樣試也不成功,
我是用了3.2的annotation方法做的配置:
相應(yīng)的xml文件mapping配置方法也試過,一樣不通。
異常一般是這樣:
雖然hibernate2的版本可以用vm實(shí)現(xiàn)Id的增長,但是對vm這個(gè)generator還是不甚了解,希望 robbin等老大能給個(gè)解析,
(by the way, 在程序員9上看到robbin的文章,很精彩!)
同時(shí)指導(dǎo)一下在3.2中該如何配置。
我現(xiàn)在用的是native的generator,需要在orcale中設(shè)置一個(gè)hibernate默認(rèn)的sequence:HIBERNATE_SEQUENCE,但是里面所有對的操作都會用這個(gè)sequence來生成ID,這樣比較影響性能,和不同的表的ID不是連續(xù)的,很不雅觀。
希望能找能不一好的方法在不使用oracle的sequence的情況下生成表遞增的ID。
謝謝指導(dǎo)。
<id column="ID"
name="Id"
type="int >
<generator class="vm" />
</id>
在現(xiàn)在的項(xiàng)目中用hibernate3.2+oracle9i,好像hibernate3.2沒有了"vm"這個(gè)相應(yīng)的generator,只有很困難的找到一些關(guān)于"vm.long"和"vm.hex"的資料,但是怎樣試也不成功,
我是用了3.2的annotation方法做的配置:
/*
* 流水號
*/
@GenericGenerator(name="generator", strategy="vm.long", parameters = { } )
@Id @GeneratedValue(generator="generator")
private Integer id;
相應(yīng)的xml文件mapping配置方法也試過,一樣不通。
異常一般是這樣:
could not interpret id generator strategy: vm.long
雖然hibernate2的版本可以用vm實(shí)現(xiàn)Id的增長,但是對vm這個(gè)generator還是不甚了解,希望 robbin等老大能給個(gè)解析,
(by the way, 在程序員9上看到robbin的文章,很精彩!)
同時(shí)指導(dǎo)一下在3.2中該如何配置。
我現(xiàn)在用的是native的generator,需要在orcale中設(shè)置一個(gè)hibernate默認(rèn)的sequence:HIBERNATE_SEQUENCE,但是里面所有對的操作都會用這個(gè)sequence來生成ID,這樣比較影響性能,和不同的表的ID不是連續(xù)的,很不雅觀。
希望能找能不一好的方法在不使用oracle的sequence的情況下生成表遞增的ID。
謝謝指導(dǎo)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

