如何使用“ IN”创建自定义Spring JPA查询?

时间:2019-05-08 00:04:10

标签: spring jpa

我有一个整数参数。我需要编写一个等同于SQL的自定义Spring JPA查询。 。 。 AND x.propertyStatusId IN (1,2)。 。 。

我在Spring Data JPA文档中看到关键字是“ IN”,如"findByAgeIn(Collection<Age> ages)"所示,它转换为“ where x.age in?1”,但出现错误。我正在使用整数的arrayList。

ArrayList<Integer> propertyStatusId = new ArrayList<Integer>();
propertyStatusId.add(1);
propertyStatusId.add(2);
findByPropertyOwnerIdAndIn(propertyStatusId)AndListingDateGreaterThanEqual(user.getId(),propertyStatusId, ListingDate, pageable);

1 个答案:

答案 0 :(得分:1)

假设您有一个定义为Product的实体,定义如下:

@Entity
public class Product {

    @Id
    @GeneratedValue
    private Integer id;
    private String title;
    private String description;
    private Date createDate;

// getters & setters 

}

如果您需要基于titleList of idsgreater than or equal to createDate进行查询,则可以定义以下方法:

List<Product> findByTitleAndIdInAndCreateDateGreaterThanEqual(String title, List<Integer> ids, Date createDate);