用SQL2000+Tomcat5+Hibernate的時候,出現以下資料庫事務錯誤,是為什麼?請看程式碼
Could not load object: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.
呼叫beginTransaction()時錯誤出現以上錯誤,是為什麼?
package com.hellking.study.hibernate;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
import java.util.*;
import java.io.IOException;
import java.io.PrintWriter;
public abstract class HibernateBase
{
protected SessionFactory sessionFactory;//會話工廠,用於建立會話
protected Session session;//hibernate會話
protected Transaction transaction; //hiberante事務
public HibernateBase()throws HibernateException
{
this.initHibernate();
}
// 幫助方法
protected void initHibernate()
throws HibernateException {
// 裝載配置,構造SessionFactory物件
sessionFactory = new Configuration().configure().buildSessionFactory();
}
/**
*開始一個hibernate事務
*/
protected void beginTransaction()
throws HibernateException {
session = sessionFactory.openSession();
transaction = session.beginTransaction();
}
/**
*結束一個hibernate事務。
*/
protected void endTransaction(boolean commit)
throws HibernateException {
if (commit) {
transaction.commit();
} else {
//如果是隻讀的操作,不需要commit這個事務。
transaction.rollback();
}
session.close();
}
}
呼叫時錯誤:
package com.hellking.study.hibernate;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
import java.util.*;
/**
*和course相關的業務邏輯
*/
public class CourseBean extends HibernateBase
{
public CourseBean()throws HibernateException
{
super();
}
/**
*增加一個Course
*/
public void addCourse(Course st)throws HibernateException
{
beginTransaction();
session.save(st);
endTransaction(true);
}
/**
*返回系統中所有的Course
*/
public Iterator getAllCourses()throws HibernateException
{
String queryString = "select courses from Course as courses";
beginTransaction();
Query query = session.createQuery(queryString);
Iterator it= query.iterate();
return it;
}
/**
*刪除給定ID的course
*/
public void deleteCourse(String id)throws HibernateException
{
beginTransaction();
Course course=(Course)session.load(Course.class,id);
session.delete(course);
endTransaction(true);
}
/**
*按course的名字進行模糊查詢
*/
public Iterator getSomeCourse(String name)throws HibernateException
{
String queryString = "select c from Course as c where c.name like :name" ;
beginTransaction();
Query query = session.createQuery(queryString);
query.setString("name", "%"+name+"%");
Iterator it= query.iterate();
return it;
}
}
呼叫beginTransaction()時錯誤出現以上錯誤,是為什麼?
package com.hellking.study.hibernate;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
import java.util.*;
import java.io.IOException;
import java.io.PrintWriter;
public abstract class HibernateBase
{
protected SessionFactory sessionFactory;//會話工廠,用於建立會話
protected Session session;//hibernate會話
protected Transaction transaction; //hiberante事務
public HibernateBase()throws HibernateException
{
this.initHibernate();
}
// 幫助方法
protected void initHibernate()
throws HibernateException {
// 裝載配置,構造SessionFactory物件
sessionFactory = new Configuration().configure().buildSessionFactory();
}
/**
*開始一個hibernate事務
*/
protected void beginTransaction()
throws HibernateException {
session = sessionFactory.openSession();
transaction = session.beginTransaction();
}
/**
*結束一個hibernate事務。
*/
protected void endTransaction(boolean commit)
throws HibernateException {
if (commit) {
transaction.commit();
} else {
//如果是隻讀的操作,不需要commit這個事務。
transaction.rollback();
}
session.close();
}
}
呼叫時錯誤:
package com.hellking.study.hibernate;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
import java.util.*;
/**
*和course相關的業務邏輯
*/
public class CourseBean extends HibernateBase
{
public CourseBean()throws HibernateException
{
super();
}
/**
*增加一個Course
*/
public void addCourse(Course st)throws HibernateException
{
beginTransaction();
session.save(st);
endTransaction(true);
}
/**
*返回系統中所有的Course
*/
public Iterator getAllCourses()throws HibernateException
{
String queryString = "select courses from Course as courses";
beginTransaction();
Query query = session.createQuery(queryString);
Iterator it= query.iterate();
return it;
}
/**
*刪除給定ID的course
*/
public void deleteCourse(String id)throws HibernateException
{
beginTransaction();
Course course=(Course)session.load(Course.class,id);
session.delete(course);
endTransaction(true);
}
/**
*按course的名字進行模糊查詢
*/
public Iterator getSomeCourse(String name)throws HibernateException
{
String queryString = "select c from Course as c where c.name like :name" ;
beginTransaction();
Query query = session.createQuery(queryString);
query.setString("name", "%"+name+"%");
Iterator it= query.iterate();
return it;
}
}
相關文章
- 為什麼回覆貼子的時候又出現“空指標”錯誤指標
- 為什麼我們需要資料庫事務資料庫
- 資料庫事務四大特性是什麼?資料庫
- 為什麼寫程式碼的時候聽音樂?
- 為什麼寫程式碼的時候聽音樂
- 傳送請求時,url 出現亂碼錯誤
- 請教高手,這是什麼錯誤?
- 我部署原始碼中remote下的MyApp.ear時,出現錯誤,請問是什麼原因,如何解決。原始碼REMAPP
- 什麼是資料庫事務的寫偏斜write-skew?- justinjaffray資料庫
- 資料分析中常見的錯誤是什麼(一)
- 為什麼網站伺服器會出現500錯誤程式碼?該怎麼修復?網站伺服器
- jdon框架在jboss中執行有時時出現出現錯誤,是什麼原因,如何處理框架
- 什麼時候該使用NoSQL儲存資料庫?SQL資料庫
- C++中什麼時候用move,什麼時候用forward?C++Forward
- 什麼時候釋出
- request.getParameter("name")什麼時候獲取的引數是null,什麼時候為""空字串Null字串
- 什麼是資料庫?什麼是雲資料庫?資料庫
- 什麼是介面?為什麼使用介面? 什麼時候使用介面?(轉)
- 請教,資料庫不支援事務怎麼辦?資料庫
- 為什麼在 Redis 實現 Lua 指令碼事務?Redis指令碼
- session是什麼時候建立的Session
- 做standby 資料庫時,出現ORA-12560 錯誤:資料庫
- 什麼是407 Proxy Authentication Required錯誤程式碼?UI
- finally塊裡的程式碼是什麼時候被執行的?
- 【mysql】關於連線mysql資料庫時出現的時區錯誤time zoneMySql資料庫
- 什麼是資料實時同步,為什麼資料實時同步很重要
- 分析資料庫的事務隔離級別在資料庫選型分析的時候很重要資料庫
- 為什麼PostgreSQL是最成功的資料庫?SQL資料庫
- 啟動oracle資料庫的時候報ORA-00205錯誤:Oracle資料庫
- 什麼會導致HTTP出現429請求過多錯誤?HTTP
- 為什麼開網頁時有這種錯誤!請高手指點:)網頁
- 為什麼總出現記憶體不能為“read”的錯誤提示記憶體
- Oracle資料庫關閉時,出現ORA-03113錯誤Oracle資料庫
- 連線資料庫時出現ORA-12514錯誤資料庫
- 新版什麼時候釋出?
- 使用jstl時出現的一個錯誤,請指教!JS
- onbar備份的時候返回錯誤程式碼142
- 你打算敲程式碼到什麼時候?