加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – 为什么在Spring-Hibernate配置中配置dataSource和sessi

发布时间:2020-12-15 01:41:41 所属栏目:大数据 来源:网络整理
导读:我在我的Web应用程序中使用Spring 3.1.2和Hibernate 4.1.7.我想现在配置这两个.我有我的hibernate.cfg.xml文件:

我在我的Web应用程序中使用Spring 3.1.2和Hibernate 4.1.7.我想现在配置这两个.我有我的hibernate.cfg.xml文件:

我的webapp-servlet.xml spring配置文件:

>当需要的所有数据都已包含在hibernate配置文件中时,为什么需要配置DataSource bean? Hibernate有一些可以使用的默认值吗?
>我可以使用哪些其他数据源?
>我是否缺少任何其他bean或配置参数/属性以使hibernate与我的应用程序一起工作?

最佳答案
>你不需要他们两个.您可以删除hibernate.cfg.xml并在LocalSessionFactoryBean中配置所有内容,或者按原样重用现有的hibernate.cfg.xml(在这种情况下,您不需要在Spring配置中配置DataSource).
>您有以下选择:

>使用embedded database – 它有利于测试和学习目的
>使用DriverManagerDataSource – 它是一个简单的非池化数据源,可用于测试等(不推荐用于生产用途)
>使用DBCP或c3p0等连接池
>如果部署到应用程序服务器,则可以使用应用程序服务器using JNDI提供的连接池

>您当前的配置已足够,但它缺少Spring transaction management的支持.为了启用它,您需要

>声明HibernateTransactionManager
>添加< tx:annotation-driven>启用声明式事务管理(@Transactional)
>如果要使用程序化事务管理(使用它来克服声明式事务管理的限制),则声明TransactionTemplate
>另外,不要忘记从Hibernate配置中删除与事务相关的属性,因为它们可能与Spring事务管理冲突

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读