Пример #1
0
 public <T> T update(UpdateQuery<T> query) throws DBException {
   try {
     query.setDb(this);
     Session session = this.beginTransaction();
     T result = query.query(session);
     this.commit();
     return result;
   } catch (DBException e) {
     this.rollback();
     throw e;
   } catch (Exception e) {
     this.rollback();
     throw new DBException("Update Error: ", e);
   } finally {
     this.endTransaction();
   }
 }
 @Override
 public UpdateExtendQuery<T> where(String[] whereArgs, String[] argValues) {
   super.where(whereArgs, argValues);
   return this;
 }
 @Override
 public UpdateExtendQuery<T> where(String whereClause) {
   super.where(whereClause);
   return this;
 }
 @Override
 public UpdateResponse update(UpdateQuery query) {
   String indexName =
       isNotBlank(query.getIndexName())
           ? query.getIndexName()
           : getPersistentEntityFor(query.getClazz()).getIndexName();
   String type =
       isNotBlank(query.getType())
           ? query.getType()
           : getPersistentEntityFor(query.getClazz()).getIndexType();
   Assert.notNull(indexName, "No index defined for Query");
   Assert.notNull(type, "No type define for Query");
   Assert.notNull(query.getId(), "No Id define for Query");
   Assert.notNull(query.getIndexRequest(), "No IndexRequest define for Query");
   UpdateRequestBuilder updateRequestBuilder =
       client.prepareUpdate(indexName, type, query.getId());
   if (query.DoUpsert()) {
     updateRequestBuilder
         .setDocAsUpsert(true)
         .setUpsert(query.getIndexRequest())
         .setDoc(query.getIndexRequest());
   } else {
     updateRequestBuilder.setDoc(query.getIndexRequest());
   }
   return updateRequestBuilder.execute().actionGet();
 }
 /**
  * update on object from cassandra by key.
  *
  * @param key the key
  * @param bean the bean
  * @return the update
  */
 public Update runUpdate(Object key, Class<?> bean) {
   return updateQuery.runUpdate(key, bean);
 }