spring data jpa query inner join写法
在springboot中使用spring data jpa写query jpql时,不使用nativeQuery=true
。
但在sql里使用到INNER JOIN
,在google或百度查到的资料实现太少了。
在这里贴一下示例代码。
- 原生的SQL
INNER JOIN
写法
SELECT tpi.* FROM tb_product_info tpi INNER JOIN tb_marketing tm ON tpi.marketing_id = tm.id WHERE tm.topice='1'
- 在spring data jpa @Query对应的写法
注意下面会使用到实体,并且INNER JOIN
并不带ON
,而是使用实体的关联
@Query(
value = "SELECT pi FROM ProductInfo pi INNER JOIN pi.productMarketing tm WHERE tm.topice=:isEffect ORDER BY pi.orderNo"
)
Page<ProductInfo> findAllByTopice(Pageable pageable, @Param("isEffect") Integer topice);
参考来源:https://www.objectdb.com/java/jpa/query/jpql/from#INNER_JOIN