簡體   English   中英

序列不存在

[英]sequence does not exist

在使用spring和hibernate開發Web應用程序時,我得到了以下的執行。

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

當我試圖將數據插入表中時,我使用了序列來增加request_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>

我嘗試使用原生,但我無法得到值插入。

我正在使用oracle 11g。

任何人都可以為我提供解決方案。

在hbm.xml文件中為模塊名稱(如schemaName.sequenceName)提供序列名稱后,insert操作正常工作。 謝謝大家回復查詢。

序列是否存在? 要檢查,請執行:

select * from all_sequences where sequence_name = 'REQUEST_INFO_SEQ'

我認為POJO對象在參數中出現了問題,你應該首先創建會話做3件事,制作POJO對象(瞬態)然后調用持久化方法保存,更新,刪除(持久狀態)和trx.commit(分離hibernate對象的狀態)。 並且應該在try catch塊中執行此操作並捕獲HibernateException,然后調用finally將關閉會話,並使用buildSessionFactory();

sessionFactory = new Configuration()。configure()。buildSessionFactory();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM