@Override public <S extends T> S save(S entity) { Assert.notNull(entity, "Entity must not be null"); return operations.insert(entity, INSERT_NULLS).getEntity(); }
@Override public <S extends T> List<S> saveAll(Iterable<S> entities) { Assert.notNull(entities, "The given Iterable of entities must not be null"); List<S> result = new ArrayList<>(); for (S entity : entities) { result.add(operations.insert(entity, INSERT_NULLS).getEntity()); } return result; }
@Override public <T> T update(T entity) { return update(entity, UpdateOptions.empty()).getEntity(); }
@Override public <T> T insert(T entity) { return insert(entity, InsertOptions.empty()).getEntity(); }