Hibernate Sessin接口常用方法
Hibernate還是比較常用的,于是我研究了一下Hibernate Sessin接口常用方法,在這里拿出來和大家分享一下,希望對大家有用。
Hibernate Sessin接口常用方法——updata()和merge()方法產(chǎn)生SQL UPDATE
該方法調(diào)用Session的load()方法,加載Customer對象,然后再修改Customer對象的屬性。
- session = HibernateUtil.currentSession();
- tx = session.beginTransaction();
- Book oneBook=(Book)session.load(Book.class,bookID);
- oneBook.setBookName(new String("Java應用開發(fā)".getBytes("gb2312"), "ISO8859-1"));
- oneBook.setBookKind('1');
- oneBook.setBookPrice(10.4f);
- tx.commit();
Hibernate Sessin接口常用方法——load和get方法
session的load和get方法根據(jù)給定的OID從數(shù)據(jù)庫中加載一個對象,load方法在沒有找 到對象時拋出notFoundException異常,get方法返回null;
get和load和其他查詢方法返回的對象位于session的緩存中,修改了對象的屬性后, session清理緩存時,會根據(jù)持久化對象的屬性來更新數(shù)據(jù)庫。
用來對數(shù)據(jù)庫中檢索對象,load()和get()方法按照給定的OID加載一個持久化對象
- 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;
- }
- /**
- *按course的名字進行模糊查找,返回的是包含有Course持久對象的Iterator。
- */
- 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;
- }
Hibernate Sessin接口常用方法——delete()方法產(chǎn)生SQL DELETE
由于從數(shù)據(jù)庫中刪除對象對應的記錄,如果出入的是持久化對象session就計劃執(zhí)行一個delete語句。
如果出入的參數(shù)是游離態(tài)對象,先使它成為持久化對象,然后計劃執(zhí)行一個delete語句。session只有在清理緩存的時候才會執(zhí)行delete語句。
只有當調(diào)用session的close()方法時才會從session的緩存中刪除對象。
- session = HibernateUtil.currentSession();s
- tx = session.beginTransaction();
- Book oneBook=(Book)session.load(Book.class,bookID);
- session.delete(oneBook);
- tx.commit();
【編輯推薦】