javaspringjpaspring-data-jpaspring-data

What is the difference between an Spring Entity Manager and Spring Data Repository?


I am using JPA in a website. After exploring about options for saving data, I found 2 approach. The first approach is using an implementation of javax.persistence.EntityManager. I used LocalContainerEntityManagerFactoryBean to instantiate an instance of EntityManager. Once I obtain an instance of an EntityManager, I can use it to save an entity. For example,

entityManager.merge(someEntity);

Another option is to use an instance of org.springframework.data.repository.CrudRepository. One, I obtain an instance of a CrudRepository, I can use it to save an entity. For example,

aCrudRepository.save(someEntity);

What is the difference between using an EntityManager and a CrudRepository to persist an entity into a database ? What are the benefit or disadvantage of the two approach (entity manager vs. crud repository) ?


Solution

  • This two interfaces presents two different approaches:

    I hope you know about benefits or disadvantages of persistent API. If you don't you can read answers to this question.