#java #spring #hibernate #spring-boot #spring-data-jpa
#java — язык #весна #впадать в спящий режим #пружинный ботинок #весна-данные-jpa
Вопрос:
Можем ли мы использовать spring data JPA для выполнения всех операций с базой данных? Можем ли мы выполнять все сложные вещи, такие как кэширование, хранимые процедуры и т.д., Используя spring data JPA и используя spring data JPA вместо hibernate?
Все примеры, с которыми я сталкивался, использовали spring data JPA только с spring boot.
Ответ №1:
Spring data
не предназначено для замены hibernate
.
Цель spring data
состоит в том, чтобы полностью упростить или удалить DAO
реализации уровня.
Hibernate
реализовать JPA
спецификацию, но не spring data
. Также spring data
может использоваться hibernate
в качестве реализации JPA
спецификации.
Ответ №2:
Весенние данные, которые названы в другом ответе, — это нечто другое. Это зонт, охватывающий проект, предназначенный для того, чтобы каким-то образом получить доступ к базам данных. Это spring-data-jpa, spring-data-jdbc…
Spring-data-jpa — это компонент spring, который упрощает использование jpa, например, предоставляя JpaRepository
интерфейс, где вы можете определять методы без реализации, которые будут реализованы во время выполнения, используя их имена. Таким образом, вы можете управлять своим постоянным слоем, не записывая ни одной строки SQL.
Под капотом spring-data-jpa использует некоторую реализацию jpa. По умолчанию это режим гибернации, но его можно изменить на OpenJPA, toplink и другие.
Комментарии:
1. Как вы сказали, spring-data-jpa по умолчанию находится в режиме гибернации, это означает, что все, что можно сделать с помощью hibernate, можно сделать и с помощью spring-data-jpa самостоятельно?
2. Я не говорил, что это одно и то же, я сказал, что spring-data-jpa использует hibernate. Так что да, вы можете использовать функциональность hibernate