Caused by: java.sql.SQLException: ORA-02289: 序列(号)不存在 
创建你xml中配置的主键递增使用的索引即可

解决方案 »

  1.   

    这是我的表
    create table student
    (
      id varchar(10) not null primary key,
      name varchar(50) not null
    )
    这样不就可以了吗?
      

  2.   

    Oracle中的主键要看你是怎么维护   因为Oracle中不存在自增序列  所以你只能再做个序列
      

  3.   

    可以在HIBERNATE的映射文件中设定主键自增长,
    <id name="" type="">
       <column=""/>
       <generator class=""/> 有很多种生成主键方式,可上网查找
    </id>
      

  4.   

    我按照你们说的方法做了,但是还是以前错误
    在HIBERNATE的映射文件中设定主键自增长, 
    <id name="" type=""> 
      <column=""/> 
      <generator class=""/> 有很多种生成主键方式,可上网查找 
    </id>加了Oracle也建了序列
    还是哪个错误 不知道为什么?
      

  5.   

    <hibernate-mapping>
        <class name="org.hp.hibernate.demo1.pojo.Student" table="STUDENT">
            <id name="id" type="java.lang.Long">
                <column name="ID" precision="22" scale="0" />
                <generator class="native"></generator>
            </id>
            <property name="name" type="java.lang.String">
                <column name="NAME" length="50" not-null="true" />
            </property>
        </class>
    </hibernate-mapping>
      

  6.   

    <generator class="native"> </generator> 
    oracle默认会通过sequence来创建你的主键。
    你不妨先修改成<generator class="increment"> </generator>先让你的程序跑通。 
      

  7.   

    sequence 表没建吧
    我建议你用native产出主键,
      

  8.   

    oracle数据库中创建序列,设置主键后(必须),映射表的时候选择increment。选native是肯定不行。native是MySQL和SQL Server数据库用的。
      

  9.   

    哈哈,各位,谢谢了
    现在好使了
    就是在配置的时候要选为assigned类型的
    最后生成后,不知道为什么还是native 我把它改为uuid.hex就可以正常运行了
    但是我还是不知道原因,有知道的可以给我讲讲吗??
      

  10.   

    我仔细看了一下
    主要是在配置的时候要选为assigned类型的<generator class="assigned"> </generator>这些地方的问题