我正在尝试为模型“document”实现querydslmongorepository
@QueryEntity
@Document(collection="currentDocuments")
public class DocumentImpl extends TranslatableObjectImpl implements Document
在我们当前的实现中,要删除的文档将von“currentdocuments”移动到“deleteddocuments”集合中。
我找不到创建这样的存储库的解决方案
public interface DocumentRepository extends MongoRepository<DocumentImpl, String> ,QueryDslPredicateExecutor<DocumentImpl> {}
使用动态集合名称。
我的目标是在一个存储库中为不同的集合使用querydsl的优势,并且能够将模型从一个集合移动到另一个集合中,就像
public move(DocumentImpl entity, String sourceCollection, String targetCollection){
repository.delete(entity,sourceCollection);
repository.save(entity,targetCollection);
}
或者类似的
public List<Document> findAllDocumentsWithAttachments(String collectionName){
return repository.findAll(QDocumentImpl.documentImpl.attachments.isNotEmpty(), collectionName);
}
有什么建议吗?
最佳答案
我通过创建自己的扩展mongorepositoryfactorybean的factorybean实现了这个特性。