使用两个参数列表在Spring JPA中进行查询

时间:2018-08-17 14:29:23

标签: spring-data-jpa spring-data spring-repositories jpa-criteria

public interface InventoryRepository extends JPARepository<Inventory, Long> {

List<Inventory> findByIdIn(List<Long> ids);

}

上面的方法工作正常,但是我尝试以相同的方式基于多个参数List id和List sortNumber来获取List或Map。

我也对方法的返回类型Map感到满意。

我想出了以下几点,这是不正确的。

List<Inventory> findByIdANDSortNumberIn(List<Long> ids, List<Long> sortNumbers);

应该在Criteria的帮助下进行吗?有什么更好的方法吗?

实体:

@Entity
@Table(name = Constants.T_INVENTROTY)
@Data
public class Inventory implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@Column(name = Constants.COLUMN_IN_DM)
private Long id;

@Column(name = Constants.COLUMN_PROD_DESCRIPTION)
private String prodDescription;


@Column(name = Constants.COLUMN_PROD_DESCRIPTION)
private Long sortNumber;

@Column(name = Constants.COLUMN_QUANTITY)
private long quantity

}

1 个答案:

答案 0 :(得分:2)

这应该有效

List<Inventory> findByIdInAndSortNumberIn(List<Long> ids, List<Long> sortNumbers);

您可以指定And并对多个字段执行相同的操作。