spring Data jpa 一对多关联 动态查询怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring Data jpa 一对多关联 动态查询怎么写相关的知识,希望对你有一定的参考价值。

请问看得懂java代码吗多表联查动态查询 能实现吗。barCode是子表的条件
Commodity实体类有个 commodityBarcodes;
CommodityBarcode里有个barCode条件
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "commodity")
private List<CommodityBarcode> commodityBarcodes;
dao层继承JpaSpecificationExecutor有个findAll(Specification
<e>, Page<e>)方法

Specification接口里怎么动态拼接子表的搜索条件

参考技术A predicates.add(cb.like(root.get("commodityBarcodes").get("barCode"), "%" + dto.getBarCode() + "%"));

你试试这样写,我用@OneToOne就是这么写的。感觉这样也差不多

追问

我是@OneToMany
像你这样写会报错
Illegal attempt to dereference path source [null.commodityBarcodes] of basic type; nested exception is java.lang.IllegalStateException: Illegal attempt to dereference path source [null.commodityBarcodes] of basic type

以上是关于spring Data jpa 一对多关联 动态查询怎么写的主要内容,如果未能解决你的问题,请参考以下文章

spring data jpa关联查询(一对一对多多对多)

Spring - JPA 一对一, 一对多, 多对多关联

jpa关联映射(一)

一对一映射 Spring Data JPA

Spring Data Jpa系列教程--------实体解析和关联关系

Spring Data JPA中的mappedBy