oracle插入后查不到,Oracle表刚插入数据,但是在MyEclipse中却查不到(代码完全正确)...
最近在做項目的時候發現了一個有趣的問題:
在plsqldeveloper中打開一個sql會話窗口,然后 插入一條數據(或者刪、改操作),但是在MyEclipse中用代碼卻查詢不到,而且數據已經插入進去了,這是為什么呢?
1.用plsqldeveloper插入數據
這里有張表mydept,然后我向其中插入一條數據,查詢了一下,插入成功,沒問題
2.查詢數據
打開MyEclipse,我這里使用了Hibernate查詢的數據,但是沒有查出來
Session session=HibernateUtil.currentSession();
Transaction tx=session.beginTransaction();
Criteria criteria=session.createCriteria(Dept.class);
List list=criteria.list();
for (Dept dept : list) {
System.out.println(dept.getDeptName());
}
tx.commit();
HibernateUtil.closeSession();
再換用sql plus查詢一下:
也是沒有查詢到剛插入的數據!這。。。好奇怪啊!當然,這一點都不奇怪。
我們知道,plsqldeveloper 每新建一個sql會話窗口,就相當于創建了一個事務,所以,當窗口沒有關閉的時候,事務并沒有提交,所以,數據庫中的數據也不會發生改變,但是,在plsqldeveloper中如果插入之后立即進行查詢是會顯示出來的,它會首先取出操作之前的數據,然后對操作進行對應的模擬顯示,而事實上數據庫中的數據還沒有進行持久化改變,所以用MyEclipse和sqlplus不會查詢到新數據;
解決辦法:
①執行完sql語句以后手動關閉當前的sql窗口,窗口一關閉,它會默認的提交事務,當然,這方式很........?-_-|||
②sql命令后面加入“commit;”命令,通過語句提交事務
③點擊plsql developer的這個按鈕,提交事務(或F10),如圖:
當然這個問題只適合為我們這些菜鳥級的人物提個醒,大神請饒過,小弟如有說明不正確的地方,還望大神指出。
總結
以上是生活随笔為你收集整理的oracle插入后查不到,Oracle表刚插入数据,但是在MyEclipse中却查不到(代码完全正确)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二战美国陆军与海军陆战队班排火力对比
- 下一篇: 统计次数c语言,C 语言统计关键字出现次