Hibernate映射和数据库序列的java代码

时间:2011-07-26 05:46:04

标签: java hibernate

我在数据库中有这样的序列

 CREATE SEQUENCE abc
        INCREMENT BY 1
        START WITH 1
 ;

我想要一个像

这样的方法
getNextVal(); //My guess is I can fire select abc.nextval from dual

返回序列中的下一个值。

.hbm.xml和getNextVal的代码应如何显示。我是Hibernate的新手,我尝试过挖掘,但未能找到明确的答案。

创建序列的方式是否最佳。

1 个答案:

答案 0 :(得分:1)

如果您需要序列值来生成ID,则不必担心getNextVal(),因为它将根据您使用生成ID的映射为您完成。可以找到一些示例herehere是注释的一些信息。

如果由于某些其他原因需要序列值,则必须执行本机SQL查询。像这样的东西

Number val=session.createSQLQuery("select abc.nextval from dual").uniqueResult();