Spring 3交易支持

时间:2011-10-26 18:14:32

标签: hibernate spring jpa transactions

您好我正在阅读Spring in Action 3的书,我看到了这段谈论JPA交易的内容,

  

重要的是要注意JpaDialect实现必须支持   为此工作混合JPA / JDBC访问。春天的全部   特定于供应商的JpaDialect实施方案   (EclipseLinkJpaDialect,HibernateJpaDialect,OpenJpaDialect和   TopLinkJpaDialect)为将JPA与JDBC混合提供支持。   但是,DefaultJpaDialect不会。

我的问题是,当我们可以直接使用Hibernate而不是JPA时,为什么Hibernate或iBATIS会创建一个jpaDialect。我是新手,并试图了解所有这些技术之间的联系,我们非常感谢任何帮助。

谢谢, SS

2 个答案:

答案 0 :(得分:1)

因为JPA是规范,而不是实现,并且有些人更喜欢代码到规范。这就像编程到接口,而不是实现。

(我从未看到项目更改JPA实现,但我确信它会发生。)

答案 1 :(得分:1)

Hibernate是一个ORM(对象关系映射),JPA是Java Persistence API。

简单描述:

-Hibernate角色是将数据库表映射到java对象。

-JPA的作用是处理或提供管理事务/持久性到给定数据库的方法。

Hibernate provides an open source object-relational mapping framework for Java. Versions 3.2 and later provide an implementation for the Java Persistence API.

因此,如果您使用Hibernate 3.2+,它已经实现了JPA规范,因此您不需要第三方JPA提供程序。

相关问题