2017-06-15 6 views
1

Ich versuche zu verstehen, wie man richtig primäre Indizes verwenden, in SDN 4.Spring Data Neo4j 4 und Primärindizes

Vom org.neo4j.ogm.annotation.Index javadoc:

Only one index per class hierarchy may be marked as primary. 

Bedeutet es, dass, wenn ich ein folgende Entitätshierarchie:

B extends A 
C extends A 

ich kann nicht in die beiden Entitäten hinzufügen B und C die folgende Indexdefinition:

@Index(unique = true, primary = true) 
private Long id; 

Dieser primäre Index nur auf A oder zu B oder zu C Einheit hinzugefügt werden kann?

Oder wenn ich den Primärindex in den beiden von ihnen hinzufügen können (B und C) können B.id und C.id halten den gleichen Wert .. zum Beispiel 1

Antwort

2

nur einen Index pro Klassenhierarchie sein kann als primär gekennzeichnet

Dies bedeutet, dass Sie nur einen primären Index in einer Klasse oder einer ihrer Superklassen haben können.

z. wenn Sie folgende Hierarchie:

class A 
class B extends A 
class C extends B 

können Sie nur 1 Index haben, entweder A, B oder C.

In Ihrer Situation können Sie entweder Index in A, oder B (oder B und C).

Der Unterschied ist

  • , wenn der Index in A ist, werden Sie nicht in der Lage sein, B und C mit dem gleichen ID erstellen - Beschränkung auf einem Etikett wird
  • erstellt werden, wenn der Index in B und C können Sie B und C mit derselben ID erstellen, da es sich um zwei separate Einschränkungen für zwei separate Beschriftungen handelt.
+0

Danke für Ihre Antwort – alexanoid

Verwandte Themen