Hibernate: select hibernate_sequence.nextval from dual

Hibernate:
    select
        hibernate_sequence.nextval
    from
        dual



出现以上错误时,根据网络总结了以下几种情况:

情况1:

  使用oracle数据库时,hibernate配置bean文件时,在*.hbm.xml中配置主键生成策略为sequence,却没有指定sequence,例如:

例子来自http://iteye.blog.163.com/blog/static/186308096201301003651896/

1.1列子:

出现这个异常说明你对应映射表里,没有指明序列。解决办法就是指明一个序列,如果没有,就新建一个eg: CREATE SEQUENCE SEQ_TL_COMMON_ITEM INCREMENT BY 1;

原来:
  
      
      
          
      
  

改成:
  

      

      

        SEQ_TL_COMMON_ITEM  

      

 


情况2:

    在配置主键生成策略为native(根据方言),sequence(oracle等),identity(mysql等),即自动生成时候将主键设置成了String类型。

情况3:

    配置主键为native的时候缺少sequence(博主就是这种情况),添加sequence即可,例子来自网络。

1.3例子

CREATE SEQUENCE HIBERNATE_SEQUENCE MINVALUE 90000 MAXVALUE 999999999999999999999999 INCREMENT BY 1 NOCYCLE;






你可能感兴趣的:(bug,hibernate)