@Nullable public T uniqueResult() { if (conditions.getValue() != null) { return session.from(entityPath).where(conditions).uniqueResult(entityPath); } else { return null; } }
@Test public void IdAndDirectProperties() { System.out.println("idAndDirectProperties"); session.from(var).list(var.id, var.directProperty); }
@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()); }
assertEquals(literals.date, session.from($(l)).where($(l.getDate()).eq(literals.date)).uniqueResult($(l.getDate()))); assertEquals(literals.date2, session.from($(l)).where($(l.getDate2()).eq(literals.date2)).uniqueResult($(l.getDate2()))); assertEquals(literals.dateTime.getMillis(), session.from($(l)).where($(l.getDateTime()).eq(literals.dateTime)).uniqueResult($(l.getDateTime())).getMillis()); assertEquals(literals.localDate, session.from($(l)).where($(l.getLocalDate()).eq(literals.localDate)).uniqueResult($(l.getLocalDate()))); assertEquals(literals.localTime, session.from($(l)).where($(l.getLocalTime()).eq(literals.localTime)).uniqueResult($(l.getLocalTime()))); assertEquals(literals.time, session.from($(l)).where($(l.getTime()).eq(literals.time)).uniqueResult($(l.getTime()))); assertEquals(literals.timestamp, session.from($(l)).where($(l.getTimestamp()).eq(literals.timestamp)).uniqueResult($(l.getTimestamp()))); assertEquals(1, session.from($(l)).where($(l.getDate()).eq(literals.date)).count()); assertEquals(1, session.from($(l)).where($(l.getDate2()).eq(literals.date2)).count()); assertEquals(1, session.from($(l)).where($(l.getDateTime()).eq(literals.dateTime)).count()); assertEquals(1, session.from($(l)).where($(l.getLocalDate()).eq(literals.localDate)).count()); assertEquals(1, session.from($(l)).where($(l.getLocalTime()).eq(literals.localTime)).count()); assertEquals(1, session.from($(l)).where($(l.getTime()).eq(literals.time)).count()); assertEquals(1, session.from($(l)).where($(l.getTimestamp()).eq(literals.timestamp)).count());
@Test public void Query() throws IOException { ConfigurationBuilder builder = new ConfigurationBuilder(); builder.addClass(TEST.NS, Person.class).addId("id").addProperties(); builder.addClass(new UID(TEST.NS, "Dept"), Department.class).addId("id").addProperties(); builder.addClass(TEST.NS, Company.class).addId("id").addProperties(); Configuration configuration = builder.build(); Session session = SessionUtil.openSession(new MiniRepository(), Collections.<Locale> emptySet(), configuration); Person person = new Person(); person.firstName = "Bob"; person.lastName = "Smith"; session.save(person); session.clear(); // getById Person other = session.getById(person.id, Person.class); assertNotNull(other.id); assertEquals(person.firstName, other.firstName); assertEquals(person.lastName, other.lastName); // query PathBuilder<Person> personPath = new PathBuilderFactory().create(Person.class); assertEquals(other, session.from(personPath).where(personPath.getString("firstName").eq("Bob")).uniqueResult(personPath)); assertEquals(other, session.from(personPath).where(personPath.getString("lastName").eq("Smith")).uniqueResult(personPath)); // list assertEquals(1, session.from(personPath).list(personPath).size()); // findInstances assertEquals(1, session.findInstances(Person.class).size()); session.close(); }
@Test public void ById() { System.out.println("byId"); String id = session.from(var).list(var.id).get(0); instance = where(var.id.eq(id)).uniqueResult(var); assertNotNull(instance); assertEquals(id, instance.getId()); }
@Test public void UniqueResult() { assertTrue(session.from(var).limit(1).uniqueResult(projection) instanceof SimpleType); }
private void assertResultSize(int total, int size, @Nullable QueryModifiers modifiers) { // via list assertEquals(size, createQuery(modifiers).list($(entity)).size()); System.out.println(); // via results SearchResults<?> results = createQuery(modifiers).listResults($(entity)); assertEquals(total, results.getTotal()); assertEquals(size, results.getResults().size()); System.out.println(); // via iterator assertEquals(size, IteratorAdapter.asList(createQuery(modifiers).iterate($(entity))).size()); System.out.println(); }
private BeanQuery where(Predicate... conditions) { return session.from(var).where(conditions); }
@Test public void ByLiteralProperty() { System.out.println("byLiteralProperty"); instance = where(var.directProperty.eq("propertymap")).uniqueResult(var); assertNotNull(instance); assertEquals("propertymap", instance.getDirectProperty()); }
@Test public void AllDistinctInstances() { System.out.println("allDistinctInstances"); assertEquals(2, session.from(var).listDistinct(var).size()); }
@Test public void Iterate() { CloseableIterator<SimpleType> it = session.from(var).iterate(projection); try { assertTrue(it.next() instanceof SimpleType); assertTrue(it.next() instanceof SimpleType); assertTrue(it.next() instanceof SimpleType); assertTrue(it.next() instanceof SimpleType); assertFalse(it.hasNext()); } finally { it.close(); } }
@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 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()); }