java Querydsl BooleanBuilder OneToMany查询

时间:2016-12-09 11:27:52

标签: java spring jpa querydsl

使用spring boot和spring JPA我有一个Receipt模型,它与Store模式具有oneToMany关系:

@Entity
public class Receipt extends Base {

    //other model fields

    @Column(name="email")
    private String Email;

    @ManyToOne
    @JoinColumn(name="store_id")
    private Store Store;

    //getters & setters 
}

我希望使用BooleanBuilder查找包含电子邮件且属于特定商店的收据。至于电子邮件,我可以简单地说

where.and(q.Email.eq("some@email.com"));

但我不知道如何使用电子邮件&商店ID。

之类的东西
where.and(q.Email.eq("some@email.com")).and(q.Store.id.eq(1));

我知道我可以从数据库中获取商店对象,然后将其传递给where,但这是唯一的方法吗?

1 个答案:

答案 0 :(得分:0)

对我来说有用的是分别映射外键:

@Column(name="store_id")
private Integer storeId;

然后您应该可以致电

where(q.Email.eq("some@email.com")).and(q.storeId.eq(1));