我的oracle中一个表的主键是sequence,自增的,现在在hibernate中save时提示:Hibernate: select nextval ('SEQ_RESOURCES')
[2011-05-25 14:59:50,671 ERROR]>> org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:78): - ORA-00923: 未找到要求的 FROM 关键字
请问怎么解决?

解决方案 »

  1.   

    select nextval ('SEQ_RESOURCES')
    你没有from什么嘛?
      

  2.   

    贴出你的保存以及SQL代码等等一系列。。
      

  3.   

    hbm 主键映射部分: <id name="id" type="java.lang.Integer">
                <column name="Id" />
                <generator class="sequence"> 
                    <param name="sequence">SEQ_RESOURCES</param>
               </generator>
     </id>
    java代码中保存:resourcePO.setCode(code.toString());
    resourcePO.setResString(resource.getResString());
    resourcePO.setParentcode(resource.getParentcode());
    resourcePO.setName(resource.getName());
    resourcePO.setAlias(resource.getAlias());
    resourcePO.setStatus(1);
    resourcePO.setPstatus(1);
    resourcePO.setDescription(resource.getDescription());
    resourcePO.setOrder(order);
    resourcePO.setModuleCode(resource.getModuleCode());
    this.save(resourcePO);用断点调试时resourcePO的id为null, 设置成序列应该可以插入的,但是没有成功!
      

  4.   

    根据hibernate打出的SQL 确实是没有FORM 关键字,LZ看看是不是jar的问题
      

  5.   

    <id name="id" type="java.lang.Integer">
                <column name="Id" />
                <generator class="sequence"> 
                    <param name="sequence">SEQ_RESOURCES</param>
               </generator>
     </id>
    你配置文件是不是少了class啊?---------------------------------应该这样吧。。-------------------------------
    <class name="" table="">
    <id name="id" type="java.lang.Integer">
                <column name="Id" />
                <generator class="sequence"> 
                    <param name="sequence">SEQ_RESOURCES</param>
               </generator>
     </id>
    </class>
      

  6.   

    7楼朋友 我只是贴出了主键的配置, class的我没贴出来。
      

  7.   

    原因找到了:数据库方言配错了,因为是从mysql迁过来 给忘记了:换成:org.hibernate.dialect.OracleDialect 
    就oK了