【问题标题】:Query in Spring JPA using List of two parameters使用两个参数列表在 Spring JPA 中查询
【发布时间】:2018-08-17 14:29:23
【问题描述】:
public interface InventoryRepository extends JPARepository<Inventory, Long> {

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

}

以上工作正常,但是我尝试基于多个参数 List ids 和 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

}

【问题讨论】:

  • 显示你的 Inventory 类

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


【解决方案1】:

这应该可以工作

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

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

【讨论】:

  • 试过了。但是抛出原因:java.sql.SQLSyntaxErrorException:ORA-01797:这个操作符后面必须跟ANY或者ALL
  • 在描述中添加
  • 您尝试过findByIdInAndSortNumberInfindByIdAndSortNumberIn。正确查看我的答案。
猜你喜欢
  • 2021-03-25
  • 1970-01-01
  • 2021-09-15
  • 1970-01-01
  • 2013-12-01
  • 2018-07-11
  • 1970-01-01
  • 2017-11-06
  • 1970-01-01
相关资源
最近更新 更多