/** * Finds list of entities matching given criteria. */ @SuppressWarnings({"unchecked"}) public <E> List<E> find(final Object criteria) { return query(dbOom.entities().find(criteria)).autoClose().list(criteria.getClass()); }
/** * Finds one entity for given criteria. */ @SuppressWarnings({"unchecked"}) public <E> E findOne(final Object criteria) { return (E) query(dbOom.entities().find(criteria)).autoClose().find(criteria.getClass()); }
/** * Finds related entity. */ public <E> List<E> findRelated(final Class<E> target, final Object source) { return query(dbOom.entities().findForeign(target, source)).autoClose().list(target); }
/** * List all entities. */ public <E> List<E> listAll(final Class<E> target) { return query(dbOom.entities().from(target)).autoClose().list(target); }
/** * Counts number of all entities. */ public long count(final Class entityType) { return query(dbOom.entities().count(entityType)).autoClose().executeCount(); }
/** * Finds single entity by matching property. */ public <E> E findOneByProperty(final Class<E> entityType, final String name, final Object value) { return query(dbOom.entities().findByColumn(entityType, name, value)).autoClose().find(entityType); }
/** * Decreases a property. */ public <ID> void decreaseProperty(final Class entityType, final ID id, final String name, final Number delta) { query(dbOom.entities().increaseColumn(entityType, id, name, delta, false)).autoClose().executeUpdate(); }
/** * Finds list of entities matching given criteria. */ public <E> List<E> find(final Class<E> entityType, final Object criteria) { return query(dbOom.entities().find(entityType, criteria)).autoClose().list(entityType); }
/** * Deleted single entity by its id. */ public <ID> void deleteById(final Class entityType, final ID id) { query(dbOom.entities().deleteById(entityType, id)).autoClose().executeUpdate(); }
/** * Updates single entity. */ public void update(final Object entity) { query(dbOom.entities().updateAll(entity)).autoClose().executeUpdate(); }
/** * Finds single entity by its id. */ public <E, ID> E findById(final Class<E> entityType, final ID id) { return query(dbOom.entities().findById(entityType, id)).autoClose().find(entityType); }
/** * Increases a property. */ public <ID> void increaseProperty(final Class entityType, final ID id, final String name, final Number delta) { query(dbOom.entities().increaseColumn(entityType, id, name, delta, true)).autoClose().executeUpdate(); }
/** * Updates single property in database and in the bean. */ public <E> E updateProperty(final E entity, final String name, final Object newValue) { query(dbOom.entities().updateColumn(entity, name, newValue)).autoClose().executeUpdate(); BeanUtil.declared.setProperty(entity, name, newValue); return entity; }
/** * Updates property in the database by storing the current property value. */ public <E> E updateProperty(final E entity, final String name) { Object value = BeanUtil.declared.getProperty(entity, name); query(dbOom.entities().updateColumn(entity, name, value)).autoClose().executeUpdate(); return entity; }
/** * Delete single object by its id. Resets ID value. */ public void deleteById(final Object entity) { if (entity != null) { int result = query(dbOom.entities().deleteById(entity)).autoClose().executeUpdate(); if (result != 0) { // now reset the ID value Class type = entity.getClass(); DbEntityDescriptor ded = dbOom.entityManager().lookupType(type); setEntityId(ded, entity, 0); } } }
@Test void testGroupNames() { DbSession session = new DbThreadSession(cp); // ---------------------------------------------------------------- insert assertEquals(1, dbOom.entities().insert(new Group("g1")).query().autoClose().executeUpdate()); List<Group> groups; groups = dbOom.entities().findAll(Group.class).query().list(); assertEquals(1, groups.size()); groups = dbOom.entities().findByColumn(Group.class, "column", "g1").query().list(); assertEquals(1, groups.size()); groups = dbOom.entities().findByColumn(Group.class, "column", "g1").query().list(); assertEquals(1, groups.size()); session.close(); }
query(dbOom.entities().updateAll(entity)).autoClose().executeUpdate();
assertEquals(1, dbOom.entities().insert(new Girl(1, "Anna", "swim")).query().autoClose().executeUpdate()); assertEquals(1, dbOom.entities().insert(new Girl(2, "Sandra", "piano")).query().autoClose().executeUpdate()); assertEquals(0, session.getTotalQueries()); q2.init(); assertEquals("insert into GIRL (ID, NAME) values (3, 'Monica')", q2.getQueryString()); assertEquals(1, q2.autoClose().executeUpdate()); assertTrue(q2.isClosed()); assertEquals(1, dbOom.entities().insert(new BadBoy(Integer.valueOf(1), "Johny", Integer.valueOf(3))).query().autoClose().executeUpdate()); assertEquals(0, session.getTotalQueries()); badGirl.fooid = Integer.valueOf(2); f = dbOom.entities().findById(badGirl).query(); list = f.autoClose().list(BadGirl.class); assertTrue(f.isClosed()); assertEquals(1, list.size()); count = (int) f.autoClose().executeCount(); assertEquals(1, count); assertTrue(f.isClosed()); f = DbOomQuery.query(g).autoClose(); f.executeUpdate(); assertTrue(f.isClosed()); count = (int) f.autoClose().executeCount(); assertEquals(0, count); assertTrue(f.isClosed());
DbSession session = new DbThreadSession(cp); assertEquals(1, dbOom.entities().insert(new Girl(1, "Anna", "swim")).query().autoClose().executeUpdate()); assertEquals(0, session.getTotalQueries());