2016-02-11 17 views
9

Yay verimi mongodb depoları için garip bir sorunum var .. Bir alanı findAll isteğim dışında bırakmak istiyorum. Bunu nasıl başarabilirim ?Spring data mongodb havuz bulTüm alan dışlama

@Query(fields = "{'objectContentAsJson':0}") 
Page<ObjectHistory> findByObjectIdAndServiceIgnoreCase(String objectId, String service, Pageable pageable); 

Ama findAll için hiçbir şansı:

Bu mükemmel çalışıyor

@Query(fields = "{'objectContentAsJson':0}") 
Page<ObjectHistory> findAll(Pageable pageable); 

Bu atar:

Neden Olduğu: org.springframework.data.mapping.PropertyReferenceException : Hayır özellik bulunamadı Obje için bulundu ctHistory! org.springframework.data.mapping.PropertyPath de. org.springframework.data.mapping.PropertyPath.create (PropertyPath.java:327) 'den (PropertyPath.java:75) org.springframework.data.mapping de org.springframework.data.mapping.PropertyPath.from de .PropertyPath.create org.springframework.data.mapping.PropertyPath.from (PropertyPath.java:270) 'den (PropertyPath.java:307) (PropertyPath.java : 'de 241) org.springframework.data.repository.query.parser.Part (Part.java:76)

cevap

3

ekleme. Boş bir filtre kriterleri sizin için hile olacaktır:

@Query(value = "{}", fields = "{'objectContentAsJson':0}") 
Page<ObjectHistory> findAll(Pageable pageable); 

Görünüşe göre, sonuçları filtrelemek için value parametresini belirtmek olmadığı zamanlarda, Bahar Veri yöntemi adından bir sorgu türetmek için çalışır ve her nasılsa, tanımıyor findAll özel anlamı.

+0

Ama bunu anlamıyorum, yine de yardım için diğer işlevi de benim gibi –

+0

Teşekkür çalışır:

Bu sizin için çalışmalı! –

+0

Diğer durumda, sorgu yöntem adından türetilebilir. –

2

Eğer @query ek nota bir değeri alanını sağlayan olmadığından, Bahar Bahar Sorgu Oluşturma Özellikleri saygı olmayan bir sorguya yöntem Adını findall dönüştürmek için çalışacağız. Lütfen özellikleri here'a bakın.

@Query(value = "{}", fields = "{'objectContentAsJson':0}") 
Page<ObjectHistory> findAll(Pageable pageable); 
+0

Bu geçerli bir fikir ama 'MongoDB' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' kullanamazsınız. –

+0

Aslında yapabilirsiniz, Bahar temel veri deposuna dönüşecektir. Lütfen Spring Data Mongo Resmi Dokümantasyonundan [bu örnek] (http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#repositories.query-streaming) bölümüne bakınız. – omahjoub

+0

Bu dokümanın ilk kısmı genel olmalıydı, ancak gösteri için "JPA" özel örneklerini kullandı. Http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#reference öğesinden sonra her şey mongo için –

İlgili konular