没有合适的资源?快使用搜索试试~ 我知道了~
hibernate question 2
需积分: 0 0 下载量 133 浏览量
2016-05-26
11:41:41
上传
评论
收藏 141KB DOC 举报
温馨提示
试读
5页
hibernate question version 2
资源推荐
资源详情
资源评论
Q.怎么配置 Hibernate?
A.Conguration 类使用配置 hibernate.cfg.xml(或者 hibernate.properties)以及映射文件
*.hbm.xml 来创建(例如,配置和引导 hibernate)SessionFactory,然后 SessionFactory 创建
Session 的实例。Session 的实例是持久层服务对外提供的主要接口。
hibernate.cfg.xml(或者你也可以使用 hibernate.properties):这两个文件都是用来配置
hibernate 服务(数据库连接的驱动类,连接 URL,用户名,密码,方言等)。如果这两个文件同时
存在于 classpath 里的话,那么 hibernate.cfg.xml 会覆盖 hibernate.properties 文件里的配置。
映射文件(*.hbm.xml):这些文件都是用来对持久层对象和关系数据库进行映射的。最好的方式是
对每个对象都使用单独的映射文件(例如一个类一个文件),因为如果在一个文件里存放大量的持久
层对象,那么这个文件就变得非常难管理和维护。约定的命名方式是映射文件名和持久层类名
(POJO)保持一致。例如,Account.class 的映射文件名为 Account.hbm.xml。或者,你也可以在
类文件的代码里加上 hibernate 的注解,从而不需要使用配置文件。
$
Q.什么是 SessionFactory?它是线程安全的吗?
A.SessionFactory 对应 Hibernate 的一个数据存储的概念,并且它是线程安全的,可以被多个
线程并发访问,也可以请求 session 和单个数据库的不可变编译过的映射的缓存。SessionFactory
一般只会在启动的时候构建。对于应用代码,最好对 SessionFactory 通过单例的模式进行封装以便
于访问。
1
SessionFactory sessionFactory = new
Configuration( ).configure( ).buildSessionfactory( );
Q.Session 是什么?两个线程能共享同一个 session 吗?
A.Session 是一个轻量级非线程安全的对象(线程间不能共享 session),它表示与数据库进行交
互的一个工作单元。Session 是被 SessionFactory 创建的,在任务完成之后它会被关闭。Session
是持久层服务对外提供的主要接口。Session 会延迟获取数据库连接(也就是在需要的时候才会获
取)。为了避免创建太多的 session,可以使用 ThreadLocal 来取得当前的 session,无论你调用多
少次 currentSession()方法,返回的都是同一个 session。下面是示例代码:
资源评论
茜茜770
- 粉丝: 314
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功