В чем разница между Spring Entity Manager и Spring Data Repository?
Я использую JPA на веб-сайте. Изучив варианты сохранения данных, я нашел 2 подхода. В первом подходе используется реализация javax.persistence.EntityManager. Я использовал LocalContainerEntityManagerFactoryBean для создания экземпляра EntityManager. Как только я получу экземпляр EntityManager, я могу использовать его для сохранения объекта. Например,
entityManager.merge(someEntity);
Другой вариант - использовать экземпляр org.springframework.data.repository.CrudRepository. Во-первых, я получаю экземпляр CrudRepository, я могу использовать его для сохранения объекта. Например,
aCrudRepository.save(someEntity);
В чем разница между использованием EntityManager и CrudRepository для сохранения объекта в базе данных? Каковы преимущества или недостатки двух подходов (диспетчер организации и репозиторий crud)?
Ответы
Ответ 1
Эти два интерфейса представляют два разных подхода:
-
org.springframework.data.repository.CrudRepository
- общий интерфейс для репозиториев, которые предоставляют операции CRUD. -
javax.persistence.EntityManager
связан с контекстом персистентности. Spring имеет свой собственный интерфейс, который расширяет CrudRepository
под названием JpaRepository
для этих целей.
Надеюсь, вы знаете о преимуществах или недостатках стойкого API. Если вы этого не сделаете, вы можете прочитать ответы на этот вопрос.