protected Collection<Object> appendRemoveSpecific(UpdateContext context, DeleteCriteriaBuilder<?> deleteCb, FusedCollectionActions fusedCollectionActions) { deleteCb.where("e." + getMapping()).in(fusedCollectionActions.getRemoved(context)); return new HashSet<>(fusedCollectionActions.getRemoved()); }
@Override public Iterable<V> findAll(Iterable<ID> idIterable) { Assert.notNull(idIterable, ID_MUST_NOT_BE_NULL); List<ID> idList = new ArrayList<>(); for (ID id : idIterable) { idList.add(id); } CriteriaBuilder<?> cb = cbf.create(entityManager, getDomainClass()) .where(getIdAttribute()).in(idList); TypedQuery<V> findAllByIdsQuery = evm.applySetting(setting, cb).getQuery(); applyRepositoryMethodMetadata(findAllByIdsQuery); return findAllByIdsQuery.getResultList(); }
@Override public <T> List<T> findByIds(List<WeblinkId> weblinkIds, EntityViewSetting<T, ? extends QueryBuilder<T, ?>> setting) { CriteriaBuilder<Weblink> cb = cbf.create(em, Weblink.class) .where("id").in(weblinkIds); return evm.applySetting(setting, cb).getResultList(); }
@Override protected Collection<Object> appendRemoveSpecific(UpdateContext context, DeleteCriteriaBuilder<?> deleteCb, FusedCollectionActions fusedCollectionActions) { deleteCb.where("INDEX(e." + getMapping() + ")").in(fusedCollectionActions.getRemoved(context)); return fusedCollectionActions.getRemoved(); }
protected Map<Object, Object> appendRemoveSpecific(UpdateContext context, DeleteCriteriaBuilder<?> deleteCb, FusedMapActions fusedCollectionActions) { deleteCb.where("KEY(e." + getMapping() + ")").in(fusedCollectionActions.getRemovedKeys(context)); return fusedCollectionActions.getRemoved(); }
private Map<String, List<String>> delete(String bucketId, List<String> bucketObjectNames) { if (bucketObjectNames == null || bucketObjectNames.isEmpty()) { return Collections.emptyMap(); } Bucket bucket = em.find(Bucket.class, bucketId, LockModeType.PESSIMISTIC_WRITE); // TODO: check access rights? if (bucket == null) { throw new BucketNotFoundException("Bucket '" + bucketId + "' does not exist!"); } List<BucketObjectVersion> bucketObjectVersions = cbf.create(em, BucketObjectVersion.class) .fetch("storage") .fetch("bucketObject") .where("id.bucketId").eq(bucketId) .where("state").eq(BucketObjectState.CREATED) .where("id.bucketObjectName").in(bucketObjectNames) .getQuery() .setLockMode(LockModeType.PESSIMISTIC_WRITE) .getResultList(); if (bucketObjectVersions.size() == 0) { return Collections.emptyMap(); } return deleteBucketObjectVersions(bucket, bucketObjectVersions, true); }
.where("id.versionUuid").in(versionUuids) .getQuery() .setLockMode(LockModeType.PESSIMISTIC_WRITE)
public List<V> findAll(Iterable<ID> idIterable) { Assert.notNull(idIterable, ID_MUST_NOT_BE_NULL); List<ID> idList = new ArrayList<>(); for (ID id : idIterable) { idList.add(id); } CriteriaBuilder<?> cb = cbf.create(entityManager, getDomainClass()) .where(idAttributeName).in(idList); String[] fetches = EMPTY; if (metadata != null && metadata.getEntityGraph() != null && (fetches = metadata.getEntityGraph().attributePaths()).length != 0) { cb.fetch(fetches); } TypedQuery<V> findAllByIdsQuery; Class<V> entityViewClass = metadata == null || metadata.getEntityViewClass() == null ? this.entityViewClass : (Class<V>) metadata.getEntityViewClass(); if (entityViewClass == null) { findAllByIdsQuery = (TypedQuery<V>) cb.getQuery(); } else { findAllByIdsQuery = evm.applySetting(EntityViewSetting.create(entityViewClass), cb).getQuery(); } applyRepositoryMethodMetadata(findAllByIdsQuery, fetches.length == 0); return findAllByIdsQuery.getResultList(); }
public List<V> findAll(Iterable<ID> idIterable) { Assert.notNull(idIterable, ID_MUST_NOT_BE_NULL); List<ID> idList = new ArrayList<>(); for (ID id : idIterable) { idList.add(id); } CriteriaBuilder<?> cb = cbf.create(entityManager, getDomainClass()) .where(idAttributeName).in(idList); String[] fetches = EMPTY; if (metadata != null && metadata.getEntityGraph() != null && (fetches = metadata.getEntityGraph().attributePaths()).length != 0) { cb.fetch(fetches); } TypedQuery<V> findAllByIdsQuery; Class<V> entityViewClass = metadata == null || metadata.getEntityViewClass() == null ? this.entityViewClass : (Class<V>) metadata.getEntityViewClass(); if (entityViewClass == null) { findAllByIdsQuery = (TypedQuery<V>) cb.getQuery(); } else { findAllByIdsQuery = evm.applySetting(EntityViewSetting.create(entityViewClass), cb).getQuery(); } applyRepositoryMethodMetadata(findAllByIdsQuery, fetches.length == 0); return findAllByIdsQuery.getResultList(); }