在 Spring 应用程序中使用 JpaRepository 还是 EntityManager 更好?

问题描述 投票:0回答:2

两种方法我都用过,但是有什么区别,哪个更好?

spring jpa spring-data entitymanager
2个回答
3
投票

如果您的查询足够简单和基本,可以通过 Spring data 的查询生成功能来实现,那么使用 Repository 而不是实体管理器将节省您一些时间和精力。

如果您的查询无法通过查询生成功能轻松实现,或者您需要对其进行微调,请使用实体管理器,它为您提供最大的灵活性。

仅对于 CRUD,它们或多或少是相同的,因为实体管理器 API 本身已经足够干净且简单易用。


0
投票

选择实际上取决于您的应用程序要求和开发人员偏好。

简单来说

  • 如果您需要低级控制和灵活性,请使用EntityManager

  • 如果您想要高水平的抽象,请使用JpaRepository


用例

实体管理器

  • 需要对数据库操作和自定义查询进行低级控制
  • 提供对 JPA 的直接访问以与实体合作
  • 支持复杂查询,包括本机 SQL 和存储过程
  • 适合超出高级抽象能力的自定义需求

Jpa存储库

  • 提供内置 CRUD 操作,最大限度地减少代码
  • 支持分页和排序等附加功能
  • 从方法名称生成查询
  • 允许使用
    @Query
  • 进行自定义查询
© www.soinside.com 2019 - 2024. All rights reserved.