Java 序列不存在

Java 序列不存在,java,oracle,hibernate,Java,Oracle,Hibernate,在使用spring和hibernate开发web应用程序时,我得到了以下执行选项 java.sql.SQLException:ORA-02289:序列不存在 当我试图将数据插入表中时,我使用序列来增加request\u id的值 我使用以下代码插入 @Override public void postRequest(RequestInfo requestInfo) { Session session = null; Transaction trans = null; SessionFa

在使用spring和hibernate开发web应用程序时,我得到了以下执行选项

java.sql.SQLException:ORA-02289:序列不存在

当我试图将数据插入表中时,我使用序列来增加request\u id的值

我使用以下代码插入

    @Override
public void postRequest(RequestInfo requestInfo) 
{
Session session = null;
Transaction trans = null;
SessionFactory sessionFactory = null;

sessionFactory=HibernateConfig.getSessionFactory();
session= sessionFactory.openSession();
trans = session.beginTransaction();
session.save(requestInfo);
trans.commit();
session.close();

}
public class HibernateConfig 
{
public static SessionFactory sessionFactory;
public static SessionFactory getSessionFactory() 
{
sessionFactory = new Configuration().configure().buildSessionFactory();
return sessionFactory;
}
}
在hibernate映射中,我曾经这样提到过

<id name="requestId" type="int" column="request_id" >
<generator class="sequence">
<param name="sequence">REQUEST_INFO_SEQ</param>
</generator>
</id>

请求信息
我也尝试使用native,但无法获取要插入的值

我正在使用Oracle11g


谁能给我一个解决办法。

序列存在吗?要检查,请执行以下操作:

select * from all_sequences where sequence_name = 'REQUEST_INFO_SEQ'

我认为POJO object comming in参数有问题,您应该先创建session,然后做3件事,使POJO对象(暂时状态),然后调用持久方法save、update、delete(持久状态)和trx.commit(hibernate对象的分离状态)。并且应该在try catch block和catch hibernateeexception中完成这项工作,然后调用finally关闭会话,并使用buildSessionFactory()


sessionFactory=新配置().configure().buildSessionFactory()

在hbm.xml文件中使用schemaName.sequenceName等模式名指定序列名后,插入操作工作正常。
谢谢大家回答这个问题

检查您是否连接到正确的DB(如果您有多个DB),并检查该表的DB中是否有序列。可能存在一些打字错误,可能与您的应用程序使用的同一用户的“尝试”重复。可能是权限问题(在序列上授予select)我添加了与注释相同的问题。我尝试使用属性
模式
,但没有成功。。。当我尝试使用
sequenceName=SCHEMA.sequenceName
时,一切都很顺利!谢谢你的指针。最后我添加了它作为同义词来访问它,而不使用schemaName限定符。