public K upsert(T entity) { WriteResult<T, K> writeResult = entitiesCollection.update(findById(entity), entity, true, false); if (writeResult.getDbObjects().length != 0) { // Had an insert so we can safely reference the ID return writeResult.getSavedId(); } // Return the original ID (no change) return entity.getId(); }
public K save(T entity) { WriteResult<T, K> writeResult = entitiesCollection.save(entity); if (writeResult.getDbObjects().length != 0) { // Had an insert so we can safely reference the ID entity.setId(writeResult.getSavedId()); return writeResult.getSavedId(); } // Return the original ID (no change) return entity.getId(); }