[英]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.