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