Spring 3 Поддержка транзакций - PullRequest
0 голосов
/ 26 октября 2011

Привет, я читаю книгу Spring in Action 3 и натолкнулся на этот абзац, где говорится о транзакциях JPA,

Важно отметить, что реализация JpaDialect должна поддерживать смешанный доступ JPA / JDBC для этого, чтобы работать. Всей весны специфичные для поставщика реализации JpaDialect
(EclipseLinkJpaDialect, HibernateJpaDialect, OpenJpaDialect и TopLinkJpaDialect) обеспечивает поддержку смешивания JPA с JDBC. DefaultJpaDialect, однако, не имеет.

У меня вопрос, почему Hibernate или iBATIS создают jpaDialect, когда мы можем напрямую использовать Hibernate вместо JPA. Я новичок в этом и пытаюсь понять связи между всеми этими технологиями, любая помощь очень ценится.

Спасибо, СС

Ответы [ 2 ]

1 голос
/ 26 октября 2011

Hibernate - это ORM (объектно-реляционное отображение), а JPA - API персистентности Java.

Простое описание:

-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.

1 голос
/ 26 октября 2011

Поскольку JPA является спецификацией, а не реализацией, и некоторые люди предпочитают только код спецификации. Это похоже на программирование интерфейса, а не на реализацию.

(я никогда не видел проекта, изменяющего реализацию JPA, но я уверен, что это происходит.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...