org.hibernate.exception.SQLGrammarException: could not get next sequence value 
看看你的hbm.xml的id生成方式。。你应该写成assigned. 因为你不是自动标识列

解决方案 »

  1.   

    你说的是不是这个啊?我看了还是不会麻烦说详细点啊~~~<?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- 
        Mapping file autogenerated by MyEclipse Persistence Tools
    -->
    <hibernate-mapping>
        <class name="com.orm.Adminuser" table="ADMINUSER" schema="SYSTEM">
            <id name="id" type="java.lang.Long">
                <column name="ID" precision="22" scale="0" />
                <generator class="native" />
            </id>
            <property name="loginname" type="java.lang.String">
                <column name="LOGINNAME" length="20" not-null="true" />
            </property>
            <property name="loginpassword" type="java.lang.String">
                <column name="LOGINPASSWORD" length="20" not-null="true" />
            </property>
            <property name="truename" type="java.lang.String">
                <column name="TRUENAME" length="20" not-null="true" />
            </property>
            <property name="mobile" type="java.lang.String">
                <column name="MOBILE" length="21" />
            </property>
            <property name="phone" type="java.lang.String">
                <column name="PHONE" length="21" />
            </property>
            <property name="fax" type="java.lang.String">
                <column name="FAX" length="21" />
            </property>
            <property name="sex" type="java.lang.String">
                <column name="SEX" length="4" />
            </property>
            <property name="note" type="java.lang.String">
                <column name="NOTE" length="100" />
            </property>
        </class>
    </hibernate-mapping>
      

  2.   

    这是建表信息create table ADMINUSER
    (
      ID            INTEGER not null,
      LOGINNAME     VARCHAR2(20) not null,
      LOGINPASSWORD VARCHAR2(20) not null,
      TRUENAME      VARCHAR2(20) not null,
      MOBILE        VARCHAR2(21),
      PHONE         VARCHAR2(21),
      FAX           VARCHAR2(21),
      SEX           VARCHAR2(4),
      NOTE          VARCHAR2(100)
    );
    -- Create/Recreate primary, unique and foreign key constraints 
    alter table ADMINUSER
      add primary key (ID)
      using index ;
    -- Create/Recreate indexes 
    create index IDX_ADMINUSER_NAME on ADMINUSER (LOGINNAME);
      

  3.   

    <generator class="sequence"/> 
      

  4.   

     <id name="id" type="java.lang.Long"> 
                <column name="ID" precision="22" scale="0" /> 
                <generator class="native" /> 
     </id> 
    如果要改成Integer的话你的配置文件红色部分也要改的
      

  5.   

    sequence,和java.lang.Integer
    都已经修改了
    但还是没有成功,错误提示还是一样。
      

  6.   

    <generator class="assigned"/> 
      

  7.   

    使用oracle数据库,必须指定ID增长方式为:sequence
    <id name="id" type="java.lang.Long">
                <column name="ID"  />
                <generator class="sequence" />
            </id> 然后,你要保证使用hibernate3.2,这样它可以自动在oracle数据库中创建一个名为hibernate_sequence序列,以后你的ID全部从这个序列里获得。现在你的问题就是在oracle数据库里没有这个序列,所以报:java.sql.SQLException: ORA-02289: 序列不存在 。
      
      

  8.   

    配置序列:    
    <id name="id" type="java.lang.Long">
                <column name="ID" precision="22" scale="0" />
                <generator class="native" >
                 <param name="sequence">S_AGENG_ID</param>
                </generator>
        </id>
    S_AGENG_ID:数据库中序列的名字
    自定义主键配置:
        <id name="id" type="java.lang.Long">
                <column name="ID" precision="22" scale="0" />
                <generator class="assigned" />
        </id>
    注意:
    不用修改映射文件类的类型
      

  9.   

    <id name="id" type="integer">
                <column name="ID" />
                <generator class="assigned" />
    </id>