Search in sources :

Example 1 with INSERT

use of io.requery.query.element.QueryType.INSERT in project requery by requery.

the class EntityDataStore method insert.

@Override
public <K, E extends T> Iterable<K> insert(Iterable<E> entities, @Nullable Class<K> keyClass) {
    Iterator<E> iterator = entities.iterator();
    if (iterator.hasNext()) {
        try (TransactionScope transaction = new TransactionScope(transactionProvider)) {
            E entity = iterator.next();
            EntityProxy<E> proxy = context.proxyOf(entity, true);
            EntityWriter<E, T> writer = context.write(proxy.type().getClassType());
            GeneratedKeys<E> keys = writer.batchInsert(entities, keyClass != null);
            transaction.commit();
            @SuppressWarnings("unchecked") Iterable<K> result = (Iterable<K>) keys;
            return result;
        }
    }
    return null;
}
Also used : INSERT(io.requery.query.element.QueryType.INSERT) SELECT(io.requery.query.element.QueryType.SELECT) UPDATE(io.requery.query.element.QueryType.UPDATE) DELETE(io.requery.query.element.QueryType.DELETE)

Aggregations

DELETE (io.requery.query.element.QueryType.DELETE)1 INSERT (io.requery.query.element.QueryType.INSERT)1 SELECT (io.requery.query.element.QueryType.SELECT)1 UPDATE (io.requery.query.element.QueryType.UPDATE)1