hibernate中的session中可以进行增删改差,通过工具类可以得到相关的工具类。
| 方法概要: | 
|  Transaction
 | beginTransaction()开始一个工作单元,得到关联的事务对象。
 | 
|  void
 | cancelQuery()取消当前执行的查询。
 | 
|  void
 | clear()彻底清除session。
 | 
|  Connection
 | close()通过断开JDBC连结结束 Session和清除。
 | 
|  Connection
 | connection()得到JDBC连结
 | 
|  boolean
 | contains(Object object)检查实例是否与当前Session关联。
 | 
|  Criteria
 | createCriteria(Class persistentClass)为给定的实体类创建一个新的查询实例。
 | 
|  Query
 | createFilter(Object collection, String queryString)根据字符串为给定的集合创建一个新的查询实例。
 | 
|  Query
 | createQuery(String queryString)根据字符串创建一个新的查询实例。
 | 
|  Query
 | createSQLQuery(String sql, String[] returnAliases, Class[] returnClasses)根据SQL字符串创建一个新的查询实例。
 | 
|  Query
 | createSQLQuery(String sql, String returnAlias, Class returnClass)根据SQL字符串创建一个新的查询实例。
 | 
|  void
 | delete(Object object)从数据库删除持久实例。
 | 
|  int
 | delete(String query)删除根据查询语句返回的所有对象。
 | 
|  int
 | delete(String query, Object[] values, Type[] types)删除根据查询语句返回的所有对象。
 | 
|  int
 | delete(String query, Object value, Type type)删除根据查询语句返回的所有对象。
 | 
|  Connection
 | disconnect()断开Session与JDBC连结。
 | 
|  void
 | evict(Object object)从session缓存中删除当前实例。
 | 
|  Collection
 | filter(Object collection, String filter)对持久集合应用过滤。
 | 
|  Collection
 | filter(Object collection, String filter, Object[] values, Type[] types)对持久集合应用过滤。
 | 
|  Collection
 | filter(Object collection, String filter, Object value, Type type)对持久集合应用过滤。
 | 
|  List
 | find(String query)执行查询。
 | 
|  List
 | find(String query, Object[] values, Type[] types)根据绑定参数执行查询。
 | 
|  List
 | find(String query, Object value, Type type)根据绑定参数执行查询。
 | 
|  void
 | flush()强制Session保存。
 | 
|  Object
 | get(Class clazz, Serializable id)根据给定标识返回实体类持久实例。
 | 
|  Object
 | get(Class clazz, Serializable id, LockMode lockMode)根据给定标识返回实体类持久实例。
 | 
|  LockMode
 | getCurrentLockMode(Object object)得到给定对象得当前锁定模式。
 | 
|  FlushMode
 | getFlushMode()得到当前保存模式。
 | 
|  Serializable
 | getIdentifier(Object object)得到Session缓存中实体实例的标识。
 | 
|  Query
 | getNamedQuery(String queryName)根据mapping文件中定义的查询字符串得到查询实例。
 | 
|  SessionFactory
 | getSessionFactory()得到创建当前实例的SessionFactory。
 | 
|  boolean
 | isConnected()检查Session是否当前连接。
 | 
|  boolean
 | isDirty()检查是否包含修改的数据没有同步数据库。
 | 
|  boolean
 | isOpen()检查Session是否仍然打开。
 | 
|  Iterator
 | iterate(String query)执行一个查询,返回结果到iterator。
 | 
|  Iterator
 | iterate(String query, Object[] values, Type[] types)执行一个查询,返回结果到iterator。
 | 
|  Iterator
 | iterate(String query, Object value, Type type)执行一个查询,返回结果到iterator。
 | 
|  Object
 | load(Class theClass, Serializable id)根据给定标识返回实体类持久实例。
 | 
|  Object
 | load(Class theClass, Serializable id, LockMode lockMode)根据给定标识返回实体类持久实例。
 | 
|  void
 | load(Object object, Serializable id)根据给定标识返回实体类持久实例。
 | 
|  void
 | lock(Object object, LockMode lockMode)得到指定锁级别
 | 
|  void
 | reconnect()得到新的JDBC连结。
 | 
|  void
 | reconnect(Connection connection)重新连结到给定的JDBC连结。
 | 
|  void
 | refresh(Object object)从数据库重新读取给定实例状态。
 | 
|  void
 | refresh(Object object, LockMode lockMode)根据给定的锁模式从数据库重新读取给定实例状态。
 | 
|  void
 | replicate(Object object, ReplicationMode replicationMode)持久化所有对象。
 | 
|  Serializable
 | save(Object object)持久化临时实例。
 | 
|  void
 | save(Object object, Serializable id)根据给定表识持久化临时实例。
 | 
|  void
 | saveOrUpdate(Object object)根据给定标识属性选择保存或更新数据库。
 | 
|  Object
 | saveOrUpdateCopy(Object object)根据相同的标识拷贝给定对象的状态到持久对象。
 | 
|  Object
 | saveOrUpdateCopy(Object object, Serializable id)根据给定的标识拷贝给定对象的状态到持久对象。
 | 
|  void
 | setFlushMode(FlushMode flushMode)设置保存模式。
 | 
|  void
 | update(Object object)根据给定临时实例标识更新持久实例。
 | 
|  void
 | update(Object object, Serializable id)根据给定临时实例标识更新持久实例。
 | 
 
 
 
使用举例:
System.out.println("获取Session...");      
Session session = HibernateSessionFactory.currentSession();
System.out.println("开始Transaction...");
Transaction tx = session.beginTransaction();       
Test my_hibernate = null;
System.out.println("Iterator查询...");
Iterator iterator = session.iterate("from Test order by xm");
while(iterator.hasNext())
{
    my_hibernate = (Test)iterator.next();
    System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());
}      
System.out.println("List查询...");
List list = session.find("from Test order by xm");     
for(int i = 0;i < list.size();i++)
{
    my_hibernate = (Test)list.get(i);
    System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());
}      
System.out.println("Query查询...");
Query query = session.createQuery("from Test order by xm");
list = query.list();
for(int i = 0;i < list.size();i++)
{
    my_hibernate = (Test)list.get(i);
    System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());
}
iterator = query.iterate();
while(iterator.hasNext())
{
    my_hibernate = (Test)iterator.next();
    System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());
}      
System.out.println("Criteria查询...");
Criteria criteria = session.createCriteria(Test.class);    
criteria.add(Expression.eq("xb","f"));
list = criteria.list();    
for(int i = 0;i < list.size();i++)
{
    my_hibernate = (Test)list.get(i);
    System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());
}
System.out.println("更新数据...");
my_hibernate = (Test)session.load(Test.class,"121");
my_hibernate.setXb("f");
System.out.println("提交Transaction...");
tx.commit();       
System.out.println("关闭Session...");
HibernateSessionFactory.closeSession();
第四讲 :hibernate中的session
原文:http://www.cnblogs.com/tian830937/p/4435962.html