hibernate中的核心类和接口细节总结

来源:互联网 发布:腿姐政治怎么样 知乎 编辑:程序博客网 时间:2024/05/22 12:35

一:Configuration类

1.读取hibernate.cfg.xml

2.管理对象关系映射文件<mapping resource="">

3.加载hibernate的驱动,URL,用户名,密码等等

4.管理配置信息

二:SessionFactory接口

1.缓存sql语句和某些数据(称为session级缓存)

2.是一个重量级的类(常驻内存,吃内存),一般用单例模式保证一个应用中只有一个,在应用程序中,如果用到多个数据库,一般一个数据库对应一个SessionFactory

3.通过SessionFactory接口可以获得Session(会话)实例

注:通过SessionFactory获取Session的两种方法openSession()和getCurrentSession()的区别

1.openSession()是获取一个新的session,创建commit或rollback是必须手动关闭

2.getCurrentSession()在同一线程中,获取的session是同一个session;这样可以利于事务的控制,并且会绑定到当前线程中,自动关闭,查询时必须用事务

3.如果希望使用getCurrentSession需要配置hibernate.cfg.xml

三:Session接口

1.Session一个实例代表与数据库的一次操作(可以是crud组合)

2.Session实例通过SessionFactory获取,用完需要关闭

3.Session是线程不同步的(不安全),因此要保证在同一线程中使用,可以用getCurrentSession()。

4.Session可以看做是持久化管理器,它是与持久化操作相关的接口

四:Transaction接口

1.Transaction是底层的事务实现中抽象出来的接口

2.可能是一个jdbc或者jta(全局事务)的事务,这样有利于hibernate在不同执行环境中移植

3.hibernate要求显示的调用事务(如果仅仅是查询可以不调用)

0 0
原创粉丝点击