springmvc中 sessionfactory到底是什么 知乎

 我来答
ifeilong
2016-09-16 · TA获得超过8068个赞
知道大有可为答主
回答量:1187
采纳率:100%
帮助的人:784万
展开全部

1,Spring中设置的SessionFactory的bean如何产生hibernate需要的SessionFactory呢,

 

在配置文件中,SessionFactory的class属性为org.springframework.orm.hibernate3.LocalSessionFactoryBean


如果用到标注产生model的情况,则SessionFactory的class属性为:

org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean

 

LocalSessionFactoryBean如何生成SessionFactory的呢。

 

setDataSource方法获得容器注入的数据源(DataSource)。

 

buildSessionFactory方法通过读取配置文件属性生成Configuration对象。Configuration的buildSessionFactory方法生成了SessionFactory对象。

 

org.hibernate.SessionFactory是SessionFactory接口类。


  1. openSession(Connection connection)

  2. openSession(Interceptor interceptor)

  3. openSession(Connection connection, Interceptor interceptor);

  4. openSession()

  5. getCurrentSession()

这些方法获得Session。org.hibernate.impl.SessionFactoryImpl是SessionFactory接口类的实现。

 

org.hibernate.Session是Session接口。org.hibernate.impl.SessionImpl接口的实现。

 

  1. getSession(EntityMode entityMode) 获得Session.

  2. clear()清空

  3. Connection close()关闭Session。

  4. Connection connection()

  5. Connection disconnect()

  6. saveOrUpdate(Object object)

  7. void save(Object obj, Serializable id)


通过这些方法可以操作数据库。

 

 

org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean类是从 LocalSessionFactoryBean继承而来,依赖于hibernate的Annotation插件。jdk必须大于等于5.0。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式