info.archinnov.achilles.query.slice.DeletePartitionRoot Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of achilles-core Show documentation
Show all versions of achilles-core Show documentation
CQL implementation for Achilles using Datastax Java driver
/*
* Copyright (C) 2012-2014 DuyHai DOAN
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package info.archinnov.achilles.query.slice;
import info.archinnov.achilles.type.ConsistencyLevel;
import info.archinnov.achilles.internal.metadata.holder.EntityMeta;
import info.archinnov.achilles.internal.persistence.operations.SliceQueryExecutor;
public abstract class DeletePartitionRoot> extends SliceQueryRoot {
protected DeletePartitionRoot(SliceQueryExecutor sliceQueryExecutor, Class entityClass, EntityMeta meta, SliceQueryProperties.SliceType sliceType) {
super(sliceQueryExecutor, entityClass, meta, sliceType);
}
/**
*
* Delete entities without filtering clustering keys.
*
*
*
* manager.sliceQuery(ArticleRating.class)
* .forDelete()
* .withPartitionComponents(articleId)
* .delete();
*
*
*
* Generated CQL query:
*
*
* DELETE FROM article_rating WHERE article_id=...
*
* @return slice DSL
*/
public void delete() {
super.deleteInternal();
}
/**
*
* Delete entities with matching clustering keys
*
*
*
* manager.sliceQuery(ArticleRating.class)
* .forDelete()
* .withPartitionComponents(articleId)
* .deleteMatching(2);
*
*
*
* Generated CQL query:
*
*
* DELETE FROM article_rating WHERE article_id=... AND rating=2
*
* @return slice DSL
*/
public void deleteMatching(Object... clusterings) {
super.withClusteringsInternal(clusterings);
super.deleteInternal();
}
/**
*
* Provide a consistency level for DELETE statement
*
* @param consistencyLevel
* @return Slice DSL
*/
public T withConsistency(ConsistencyLevel consistencyLevel) {
this.properties.writeConsistency(consistencyLevel);
return getThis();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy