| 方法概要: |
| 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 Testorder 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 byxm");
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 orderby 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();