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();
【编辑推荐】