hibernate3.2如何配置generator 为vm ?

在以前的项目中用hibernate2的版本中可以用如下的写法实现Oracle10g表ID的递增(不设oracle的sequence和trigger)
		
    <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。

谢谢指导。

你可能感兴趣的:(oracle,Hibernate,xml)