6

Przy użyciu adnotacji @Id mogę dodać pole id do mojego obiektu modelu, a po wykonaniu zapytania wynikowy obiekt modelu będzie zawierał wartość elastycznego wyszukiwania _id w pole oznaczone adnotacją: @Id.Adnotacje sprężynowe-elastyczne-wyszukiwanie meta-danych dla _version, _id itp.

Jednak muszę jeszcze dowiedzieć się, jak uzyskać inne meta-dane dokumentu, takie jak _version. Próbowałem dodać pole version do mojego modelu i opisałem je adnotacją @Version, ale nic się nie stało i pole pozostało null.

{ 
    "_index" : "twitter", 
    "_type" : "tweet", 
    "_id" : "1", 
    "_version" : 1, 
    "found": true, 
    "_source" : { 
     "user" : "kimchy", 
     "postDate" : "2009-11-15T14:12:12", 
     "message" : "trying out Elasticsearch" 
    } 
} 

jestem powołując się na takich dziedzinach jak _index, _type, _id, _version etc ...

jestem szczególnie zaniepokojony z _version dlatego, że służy do blokowania optymistycznego.

Wydaje mi się, że jeśli obsługiwany jest _id, to też powinno być wspierane _version i inne pola metadanych.

Właśnie czytałem dane sprężyste-dane-elastyczne i nie mogę znaleźć niczego. Jeśli ktoś wie, proszę doradzić.

Czy wszystkie pola meta-danych dokumentu elasticsearch są obsługiwane w wiosennych danych-elasticsearch? Jeśli tak to jak?

Co więcej, jeśli uda mi się zdobyć _version, to jak mogę go użyć do optymistycznego blokowania przy korzystaniu z danych sprężystych?

Dzięki.

Odpowiedz

1

W pobliżu, jak mogę powiedzieć, to, o co prosisz, nie istnieje. Nie potrafię jednak tego udowodnić. I znaleźliśmy listę opisów dla Spring-data-elasticsearch:

http://docs.spring.io/spring-data/elasticsearch/docs/current/api/org/springframework/data/elasticsearch/annotations/package-tree.html

Ani @id ani @version są na tej liście.

Mogę znaleźć inne rzeczy, które mają adnotację @version, ale nie są to Spring-data-elasticsearch.

Jeśli dopiero mówić o Spring-Data chciałbym wskazać na to:

http://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/annotation/Version.html

org.springframework.data.annotation

opisu typu Wersja

@Documented @Retention (value = RUNTIME)

@ TARGET (wartość = {FIELD, METHOD, ANNOTATION_TYPE}) public @interface

Wersja Wyznacza właściwość, która ma być używana jako pole wersji, aby zaimplementować optymistyczne blokowanie encji.

Od: 1.5

Autor: Patryk Wasik, Oliver Gierke

Oto link do jakiegoś kodu używając go:

http://hantsy.blogspot.com/2013/10/spring-data-new-perspective-of-data.html

Nie wiem, czy to jest to, co chcesz, ale to jest tak blisko, jak I moze przyjsc. Jest to optymistyczne blokowanie.

Powiązane problemy