`
xuxiaolei
  • 浏览: 148800 次
  • 性别: Icon_minigender_1
  • 来自: 彩虹之巅
社区版块
存档分类

hibernate3中使用hsql的sequence生成主键

阅读更多

今天,想尝试下使用hsql的sequence来作为hibernate的主键生成策略,主键部分XML代码是这样的:

<id
            name="id"
            column="person_id">
            <generator class="sequence">
            	<param name="sequence">seq</param>
            </generator>
</id>

 其中,seq是sequence的名称,如果直接这样用的话,hibernate会报异常,其中最重要的一句话是:select next value for seq from dual_seq。这句SQL是hibernate取得sequence值的sql。但是,在当前数据库中根本就没有这个表,于是,只有手工建表了:

create table dual_seq (
 id bigint
);

接着需要插入一条数据 insert into dual_seq(id) values(0); 

然后,用select next value for seq from dual_seq在hsql的database manager中查询,sequence的值查出来了。

最后,在运行刚才的插入的person的代码,ok,工作了。解决方法,贴出来共同进步。

 

1
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics