2011-10-26 5 views
0

Привет Я читаю Spring в действии 3 книги, и я наткнулся на этот пункт, где он говорит о JPA сделок,Spring поддержка 3 Транзакция

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

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

Спасибо, SS

ответ

1

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

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

1

Hibernate является ORM (Object-реляционное отображение) и 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.

Смежные вопросы