/** * Return the union of the given Boolean expressions * * @param exprs * @return */ @Nullable public static BooleanExpression anyOf(BooleanExpression... exprs) { BooleanExpression rv = null; for (BooleanExpression b : exprs) { rv = rv == null ? b : rv.or(b); } return rv; }
/** * Get a union of this and the intersection of the given predicates * * @param predicates * @return */ public BooleanExpression orAllOf(Predicate... predicates) { return or(ExpressionUtils.allOf(predicates)); }
public static Predicate titleOrDescriptionContains(String searchTerm) { QTodo todo = QTodo.todo; return todo.title.containsIgnoreCase(searchTerm) .or(todo.description.containsIgnoreCase(searchTerm)); } }
public Optional<Date> getLatestSnaphotDateBefore(final String organization, final Date snapshot) { QStatistics statistics = QStatistics.statistics; List<Statistics> statisticList = new JPAQuery(entityManager).from(statistics) .where((statistics.key.snapshotDate.before(snapshot) .or(statistics.key.snapshotDate.eq(snapshot)) .and(statistics.organizationName.eq(organization)))) // .where(statistics.organizationName.eq(organization)) .orderBy(statistics.key.snapshotDate.desc()).limit(1).list(statistics); return statisticList.isEmpty() ? Optional.empty() : Optional.ofNullable(statisticList.get(0).getSnapshotDate()); }
@Test public void BooleanOperations2_Or() { cat.name.eq(cust.name.firstName).or(cat.bodyWeight.eq(kitten.bodyWeight)); }
@Test public void LogicalOperations_Or() { assertToString("cat = kitten or kitten = cat", cat.eq(kitten).or(kitten.eq(cat))); }
@Test public void BooleanOperations_Or() { assertToString("cust is null or cat is null", cust.isNull().or(cat.isNull())); }
public List<MirrorPropertyEntity> findAllByBelongMObjectAndNameAndIsEnable(MObjectEntity belongMObject, String name, boolean isEnable) { JPAQuery query = new JPAQuery(entityManager); QMirrorPropertyEntity mirrorProperty = new QMirrorPropertyEntity("mpro"); List<MirrorPropertyEntity> list = query.from(mirrorProperty) .where( mirrorProperty.rootMObject.eq(belongMObject) .and(mirrorProperty.name.eq(name).or(mirrorProperty.secondName.eq(name))) ).orderBy(mirrorProperty.deep.asc()) .list(mirrorProperty); return list; }
@Test public void LogicalOperations_And2() { assertToString("cat is null and (kitten is null or kitten.bodyWeight > ?1)", cat.isNull().and(kitten.isNull().or(kitten.bodyWeight.gt(10)))); }
@Test @Ignore public void In_Objects() { Predicate p = QNODE.s.in(RDF.first, RDF.rest); assertEquals(QNODE.s.eq(RDF.first).or(QNODE.s.eq(RDF.rest)), p); }
/** * 查询指定对象下,我的收藏(包含共有部分) * @param mainObjId * @return */ public List<MFavoritesEntity> findAllFavorites(String mainObjId){ JPAQuery query = new JPAQuery(entityManager); QMFavoritesEntity favorites = new QMFavoritesEntity("mpro"); String userId = UserHolder.getLoginUserId(); List<MFavoritesEntity> list = query.from(favorites) .where(favorites.belongObject.id.eq(mainObjId) .and(favorites.userId.eq(userId).or(favorites.isPublic.eq(true)))) .orderBy(favorites.sort.asc()) .list(favorites); return list; }
public List<MirrorPropertyEntity> findByBelongMObjectAndNameAndIsEnable(MObjectEntity rootMObject, MObjectEntity belongMObject, String name, boolean isEnable) { JPAQuery query = new JPAQuery(entityManager); QMirrorPropertyEntity mirrorProperty = new QMirrorPropertyEntity("mpro"); List<MirrorPropertyEntity> list = query.from(mirrorProperty) .where( mirrorProperty.rootMObject.eq(rootMObject) .and(mirrorProperty.belongMObject.eq(belongMObject)) .and(mirrorProperty.name.eq(name).or(mirrorProperty.secondName.eq(name))) ) .orderBy(mirrorProperty.deep.asc()) .list(mirrorProperty); return list; }
@Test public void And_Or() { //A.a.id.eq(theId).and(B.b.on.eq(false).or(B.b.id.eq(otherId))); QCat cat = QCat.cat; Predicate pred = cat.id.eq(1).and(cat.name.eq("Kitty").or(cat.name.eq("Boris"))); JPQLSerializer serializer = new JPQLSerializer(HQLTemplates.DEFAULT); serializer.handle(pred); assertEquals("cat.id = ?1 and (cat.name = ?2 or cat.name = ?3)", serializer.toString()); assertEquals("cat.id = 1 && (cat.name = Kitty || cat.name = Boris)", pred.toString()); }
@Test public void Where_5() throws Exception { query().from(an).where( an.bodyWeight.gt(10), an.bodyWeight.lt(100).or(an.bodyWeight.isNull())) .parse(); }
@Test public void Or() throws Exception { query.from(user); query.where(user.getString("firstName").eq("X").or(user.getString("firstName").eq("Y"))); assertEquals("SELECT * WHERE { ?user ?_c2 ?_c3 . OPTIONAL { ?user ?_c4 ?user_firstName } FILTER(?user_firstName = ?_c6 || ?user_firstName = ?_c7) }"); }
@Test public void Precedence() { StringPath str = cat.name; Predicate where = str.like("Bob%").and(str.like("%ob123")) .or(str.like("Ruth%").and(str.like("%uth123"))); assertEquals(2l, query().from(cat).where(where).count()); }
@Test public void Precedence2() { StringPath str = cat.name; Predicate where = str.like("Bob%").and(str.like("%ob123") .or(str.like("Ruth%"))).and(str.like("%uth123")); assertEquals(0l, query().from(cat).where(where).count()); }
@Test public void Precedence3() { Predicate where = cat.name.eq("Bob123").and(cat.id.eq(1)) .or(cat.name.eq("Ruth123").and(cat.id.eq(2))); assertEquals(2l, query().from(cat).where(where).count()); }
@Test @NoEclipseLink @ExcludeIn({ORACLE, TERADATA}) public void JoinEmbeddable() { QBookVersion bookVersion = QBookVersion.bookVersion; QBookMark bookMark = QBookMark.bookMark; query().from(bookVersion) .join(bookVersion.definition.bookMarks, bookMark) .where( bookVersion.definition.bookMarks.size().eq(1), bookMark.page.eq(2357L).or(bookMark.page.eq(2356L))) .list(bookVersion); }