带JOOQ的Spring Boot和Spring Data JPA之间的技术区别

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

什么时候通过JOOQ在Spring Boot上使用Spring Data JPA,反之亦然?

[我知道Spring Data JPA可以用于完成基本的CRUD查询,但不能真正用于复杂的联接查询,而使用JOOQ则更容易?

编辑:可以同时将两个Spring数据jpa与jooq一起使用吗?

spring spring-boot spring-data-jpa spring-data jooq
1个回答
0
投票

恕我直言,如果您想要一个性能良好且可维护的应用程序,其核心是使用数据库,则您不希望抽象出您正在使用数据库的事实。 JOOQ可以完全控制您,因为您可以在代码中读取和写入实际的查询,但是具有类型安全性。

JPA包含OO模型,这根本不符合数据库在所有情况下的工作方式,这可能会导致意外的查询,例如N + 1,因为您在字段上放置了错误的注释。如果您没有引起足够的重视,则在扩展应用程序时会导致性能问题。 JPA标准有所帮助,但是仍然很难编写和阅读。

因此,使用JPA,您首先要用SQL编写查询,然后用半天的时间将其转换为Criteria。在使用这两个框架多年之后,即使对于简单的CRUD应用程序,我也可以进行JOOQ(因为不存在简单的CRUD应用程序:-))。

© www.soinside.com 2019 - 2024. All rights reserved.