在以前的项目中用hibernate2的版本中可以用如下的写法实现Oracle10g表ID的递增(不设oracle的sequence和trigger)
在现在的项目中用hibernate3.2+oracle9i,好像hibernate3.2没有了"vm"这个相应的generator,只有很困难的找到一些关于"vm.long"和"vm.hex"的资料,但是怎样试也不成功,
我是用了3.2的annotation方法做的配置:
相应的xml文件mapping配置方法也试过,一样不通。
异常一般是这样:
虽然hibernate2的版本可以用vm实现Id的增长,但是对vm这个generator还是不甚了解,希望 robbin等老大能给个解析,
(by the way, 在程序员9上看到robbin的文章,很精彩!)
同时指导一下在3.2中该如何配置。
我现在用的是native的generator,需要在orcale中设置一个hibernate默认的sequence:HIBERNATE_SEQUENCE,但是里面所有对的操作都会用这个sequence来生成ID,这样比较影响性能,和不同的表的ID不是连续的,很不雅观。
希望能找能不一好的方法在不使用oracle的sequence的情况下生成表递增的ID。
谢谢指导。
<id column="ID" name="Id" type="int > <generator class="vm" /> </id>
在现在的项目中用hibernate3.2+oracle9i,好像hibernate3.2没有了"vm"这个相应的generator,只有很困难的找到一些关于"vm.long"和"vm.hex"的资料,但是怎样试也不成功,
我是用了3.2的annotation方法做的配置:
/* * 流水号 */ @GenericGenerator(name="generator", strategy="vm.long", parameters = { } ) @Id @GeneratedValue(generator="generator") private Integer id;
相应的xml文件mapping配置方法也试过,一样不通。
异常一般是这样:
could not interpret id generator strategy: vm.long
虽然hibernate2的版本可以用vm实现Id的增长,但是对vm这个generator还是不甚了解,希望 robbin等老大能给个解析,
(by the way, 在程序员9上看到robbin的文章,很精彩!)
同时指导一下在3.2中该如何配置。
我现在用的是native的generator,需要在orcale中设置一个hibernate默认的sequence:HIBERNATE_SEQUENCE,但是里面所有对的操作都会用这个sequence来生成ID,这样比较影响性能,和不同的表的ID不是连续的,很不雅观。
希望能找能不一好的方法在不使用oracle的sequence的情况下生成表递增的ID。
谢谢指导。