Spring data QueryDslPredicateExecutor:来自两个表的谓词
我有一个QueryDSL谓词:Spring data QueryDslPredicateExecutor:来自两个表的谓词,spring-data,querydsl,Spring Data,Querydsl,我有一个QueryDSL谓词: public class Predicates { public static Predicate get() { QUser qUser = QUser.user; QUserCompany qUserCompany = QUserCompany.userCompany; return qUser.id.eq(qUserCompany.userId); } } 如您所见,我需要两个表来查询用户(U
public class Predicates {
public static Predicate get() {
QUser qUser = QUser.user;
QUserCompany qUserCompany = QUserCompany.userCompany;
return qUser.id.eq(qUserCompany.userId);
}
}
如您所见,我需要两个表来查询用户(User
和UserCompany
),因此,当我像这样声明存储库时,会出现一个错误:
public interface UserRepository QueryDslPredicateExecutor<User>
{
}
如何使用两个表构建谓词并将其与
querydsldpredicateexecutor
一起使用?已解决!我已将用户实体中的一对多关系映射到UserCompany,然后:
public class Predicates {
public static Predicate get() {
QUser qUser = QUser.user;
return qUser.userCompanies.any().userId.eq(qUser.id);
}
}
public class Predicates {
public static Predicate get() {
QUser qUser = QUser.user;
return qUser.userCompanies.any().userId.eq(qUser.id);
}
}