栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring容器配置中的JPA提供程序与方言与供应商

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring容器配置中的JPA提供程序与方言与供应商

将尝试逐行向您解释:

<bean id="jpaDialect" />//Should ideally be <bean id="jpaDialect" />
  • 这个bean定义了您将要使用的jpaDialect。JpaDialect是一个接口,封装了标准JPA 1.0不提供的某些功能,例如对基础JDBC连接的访问​​。该策略主要用于JPA提供程序的独立使用。与JTA事务一起运行时,其大多数功能都不相关。还允许为Spring提供的可移植但功能更强大的EntityManager和EntityManagerFactory子接口提供增值方法。
  • 由于您已经提供了类as
    />
    ,因此可以
    Spring
    将特定于供应商的行为插入到Spring的
    EntityManagerFactory
    创建者中,并且可以用作所有特定于供应商的属性的单个配置点。这是spring自己的自定义实现
    JpaVendorAdapter

对于您声明的第二个bean:

<bean id="transactionManager" >    <property name="entityManagerFactory"ref="entityManagerFactory"/>    <property name="jpaDialect"ref="jpaDialect"/></bean>
  • 您告诉’Spring’配置
    transactionManager
    其属性为
    entityManagerFactory
    和的
    jpaDialect
    。由于这些属性必须特定于
    hibernate
    这些设置。的
    entityManagerFactory
    jpaDialect
    现在被特别设置为
    hibernate
    (或供应商)。

至于第三个豆

<property name="jpaDialect"ref="jpaDialect"/>...<property name="jpaVendorAdapter">    <bean  /></property>...<provider>org.hibernate.ejb.HibernatePersistence</provider>

<provider>
告诉Spring使用
hibernate
提供者和类
org.hibernate.ejb.HibernatePersistence
是Hibernate的EJB3持久性提供者实现。

简而言之,您需要配置它们以告知spring应该使用哪个ORM功能。

您的应用程序只能配置持久性和提供程序的原因是因为供应商适配器会自动传递提供的持久性,即

HibernatePersistence
通过
getPersistenceProvider
in
JpaVendorAdapter

仔细阅读文档,以了解这些类如何相互链接。

编辑 :如@TheKojuEffect所指出的,理想情况下,第一个bean的形式应为:

<bean id="jpaDialect" />

谢谢。错过了

vendorAdapter

您可以参考:

  • hibernateJpa方言
  • HibernateVendor适配器
  • HibernatePersistence

希望能帮助到你。:)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409381.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号