我在网站上使用JPA。在探讨了用于保存数据的选项之后,我发现了两种方法。第一种方法是使用javax.persistence.EntityManager的实现。我使用LocalContainerEntityManagerFactoryBean实例化EntityManager的实例。一旦获得EntityManager的实例,就可以使用它来保存实体。例如,

entityManager.merge(someEntity);

另一个选择是使用org.springframework.data.repository.CrudRepository的实例。一个,我获得一个CrudRepository的实例,我可以用它来保存一个实体。例如,
aCrudRepository.save(someEntity);

使用EntityManager和CrudRepository将实体持久保存到数据库之间有什么区别?两种方法(实体管理器与Crud存储库)的优点或缺点是什么?

最佳答案

这两个接口(interface)提供了两种不同的方法:

  • org.springframework.data.repository.CrudRepository是提供CRUD操作的存储库的通用接口(interface)。
  • javax.persistence.EntityManager与持久性相关联
    上下文。 Spring有自己的接口(interface),扩展了CrudRepository为此,它称为 JpaRepository

  • 我希望您了解持久性API的优点或缺点。如果您不这样做,则可以阅读this question的答案。

    关于spring - Spring Entity Manager和Spring Data Repository有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14621495/

    10-12 18:11