Spring Data JPA通过嵌入式密钥中的多个字段查找

时间:2019-02-22 03:13:55

标签: java spring-data-jpa

我需要使用嵌入式密钥的两个字段来找到对象

这是嵌入式密钥:

public class OrderItemId implements Serializable {

    private static final long serialVersionUID = 1163347452811191867L;

    @Column(name = "order_code", length = 25)
    private String orderCode;

    @Column(name = "barcode", length = 25)
    private String barcode;

    // ....
}

这是我要查询的对象的类:

@Entity
@Table(name = "order_item")
public class OrderItem {

    @EmbeddedId
    @NotNull
    private OrderItemId id;

    @Column(name = "quantity")
    private Integer quantity;

    @Column(name = "price")
    private Double price;

    // ...
}

与此StackOverflow Answer

要通过嵌入式密钥orderCode进行查询,我可以这样写

public List<OrderItem> findById_OrderCode(String orderCode);

它有效!

但是我不知道如何同时通过orderCodebarcode进行查询。我尝试了and的某些形式,但是没有用。

1 个答案:

答案 0 :(得分:2)

没关系,我已经弄清楚了查询,是

public OrderItem findById_OrderCodeAndId_Barcode(String orderCode, String barcode);