2016-12-09 81 views
0

使用Spring引导和春天JPA我有与存储方式的一对多关系的收据模型:的Java Querydsl BooleanBuilder一对多查询

@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("[email protected]")); 

,但我不知道我怎么可以用电子邮件&商店ID搜索。像

where.and(q.Email.eq("[email protected]")).and(q.Store.id.eq(1)); 

我知道我可以从数据库中获取的存储对象,然后把它传递给where,但是,唯一的办法?

+0

保健与我们分享什么是“BooleanBuilder”(即什么包是在)? –

+0

@NeilStockton这是一个querydsl包。忘了提到它,但编辑了这个问题 –

回答

0

什么工作对我来说曾经是映射单独的外键:

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

然后,您应该能够调用

where(q.Email.eq("[email protected]")).and(q.storeId.eq(1));