首页 > 程序开发 > 软件开发 > 其他 >

Hibernate的Session详解

2017-04-21

Hibernate的Session详解:Session是Hibernate用来操作数据库的对象。

Hibernate的Session详解:Session是Hibernate用来操作数据库的对象。

获得Session对象

1.sessionFactory.openSession();

openSession每次获得新的session对象,而且事务(transaction.commit())提交之后需要手动关闭,否则容易出现连接池溢出

2.sessionFactory.getCurrentSession();

getCurrentSession获得的是上一次用过的对象,事务提交或回滚之后会自动关闭

session需要封装到transaction中,进行提交,默认不会自动提交的

设置自动提交:

session.doWork(new Work(){
@Override
public void execute(Connection connection) throws SQLException {
connection.setAutoCommit(true);
}

});

session对象的get和load方法:

get(类名.class,序列号);

load(类名.class,序列号);

1.get方法不管是否使用了返回的对象,都马上向数据库发送SQL语句,返回的是一个持久化对象。

而且如果查询不存在就返回null。

2.load方法只有当使用了返回的对象的时候才会发出SQL语句,返回的是一个代理对象。

当查询的数据不存在时,抛出一个ObjectnotFoundException。

相关文章
最新文章
热点推荐