@Override public Long doInSession(Session session) { BeanQuery countQry = session.from(sources); if (condition != null) { countQry.where(condition); } return countQry.count(); } });
@Override public Integer doInSession(Session session) { BeanQuery beanQuery = session.from(entityPath); if (conditions != null) { beanQuery.where(conditions); } return (int) beanQuery.count(); } });
public List<T> list() { if (conditions.getValue() != null) { return session.from(entityPath).where(conditions).list(entityPath); } else { return Collections.emptyList(); } }
@Nullable public T uniqueResult() { if (conditions.getValue() != null) { return session.from(entityPath).where(conditions).uniqueResult(entityPath); } else { return null; } }
@Override protected Pair<Projectable, Expression<?>[]> createQuery(Predicate filter) { return Pair.of((Projectable) session.from(v1, v2).where(filter), new Expression<?>[] { v1, v2 }); } };
public List<T> doInSession(Session session) { BeanQuery qry = session.from(sources).offset(from).limit(to - from).orderBy(order); if (condition != null) { qry.where(condition); } return qry.list(projection); } });
@Test public void Counts() { assertEquals(1, session.from($(e1)).where($(e1.getProperty()).isNotNull()).list($(e1)).size()); assertEquals(1, session.from($(e2)).where($(e2.getProperty()).isNotNull()).list($(e2)).size()); assertEquals(1, session.from($(e3)).where($(e3.getProperty()).isNotNull()).list($(e3)).size()); }
@Test public void ResultSetAssertions() { assertEquals(1l, from($(u)).count()); assertEquals(1l, from($(u)).list($(u.getUserName())).size()); // where 1 assertEquals(1l, from($(u)).where($(u).eq(sample)).count()); assertEquals(0l, from($(u)).where($(u).ne(sample)).count()); assertEquals(1, from($(u)).where($(u).eq(sample)).list($(u)).size()); assertEquals(0, from($(u)).where($(u).ne(sample)).list($(u)).size()); // where 2 assertEquals(1l, from($(u)).where($(u.getUserName()).eq("Bobby")).count()); assertEquals(0l, from($(u)).where($(u.getUserName()).ne("Bobby")).count()); assertEquals(1, from($(u)).where($(u.getUserName()).eq("Bobby")).list($(u)).size()); assertEquals(0, from($(u)).where($(u.getUserName()).ne("Bobby")).list($(u)).size()); }
@Test public void In() { Employee emp = Alias.alias(Employee.class); assertEquals(3l, session.from($(emp)).where($(emp).in(emp1, emp2, emp3)).count()); }
@Test public void Contains() { Department dep = Alias.alias(Department.class); assertEquals(1l, session.from($(dep)).where($(dep.getEmployees()).contains(emp1)).count()); }
@Test public void test3() { BeanQuery query = session.from($(n)); BooleanBuilder filter = new BooleanBuilder(); filter.or($(n.getTypes()).contains(NoteType.TYPE1)); filter.or($(n.getTypes()).contains(NoteType.TYPE2)); assertEquals(1, query.where(filter).list($(n)).size()); }
@Test public void deepPaths() { NoteRevision rev1 = new NoteRevision(); NoteRevision rev2 = new NoteRevision(); Note note = new Note(); note.latestRevision = rev1; rev1.note = note; rev2.note = note; session.saveAll(note, rev1, rev2); NoteRevision noteVar = Alias.alias(NoteRevision.class); Predicate where = $(noteVar).eq($(noteVar.getNote().getLatestRevision())); assertEquals(1, session.from($(noteVar)).where(where).list($(noteVar)).size()); }
@Test public void test2() { BeanQuery query = session.from($(n)); BooleanBuilder filter = new BooleanBuilder(); filter.and($(n.getTypes()).contains(NoteType.TYPE1)); filter.and($(n.getTypes()).contains(NoteType.TYPE2)); assertEquals(0, query.where(filter).list($(n)).size()); }
@Test public void test4() { BeanQuery query = session.from($(n)); BooleanBuilder filter = new BooleanBuilder(); filter.or($(n.getType()).eq(NoteType.TYPE1)); filter.or($(n.getType()).eq(NoteType.TYPE2)); assertEquals(1, query.where(filter).list($(n)).size()); } }
@Test public void test() { Entity1 entity1 = new Entity1(); Entity2 entity2 = new Entity2(); session.save(entity1); session.save(entity2); Entity1 e1 = Alias.alias(Entity1.class); Entity2 e2 = Alias.alias(Entity2.class); SimplePath<ID> idPath = new SimplePath<ID>(ID.class, $(e1), "id"); assertEquals(entity1, session.from($(e1)).where(idPath.eq(entity1.getId())).uniqueResult($(e1))); assertEquals(entity2, session.from($(e2)).where($(e2.getId()).eq(entity2.getId())).uniqueResult($(e2))); }
@Test public void test() { User u = Alias.alias(User.class, "u"); User u2 = Alias.alias(User.class, "u2"); // assertEquals(6, // session.from($(u),$(u2)).where($(u).ne($(u2))).count()); assertEquals(2, session.from($(u), $(u2)).where($(u).ne($(u2)), $(u.getUserName()).eq($(u2.getUserName()))).count()); assertEquals(2, session.from($(u), $(u2)).where($(u).ne($(u2)), $(u.getUserName()).eq($(u2.getUserName()))).list($(u), $(u2)).size()); }
@Test public void test() { EntityRevision revision = new EntityRevision(); revision.text = "a bcd e"; session.save(revision); session.flush(); session.clear(); EntityRevision var = Alias.alias(EntityRevision.class); assertNotNull(session.from($(var)).where($(var.getText()).containsIgnoreCase("a bcd e")).uniqueResult($(var))); }
@Test public void test() throws IOException { Note note = new Note(); note.lemma = "a"; session.save(note); Note noteVar = Alias.alias(Note.class); BooleanBuilder builder = new BooleanBuilder(); builder.or($(noteVar.getLemma()).eq("a")); builder.or($(noteVar.getTerm().getMeaning()).eq("a")); assertFalse(session.from($(noteVar)).where(builder.getValue()).list($(noteVar)).isEmpty()); } }