Ich brauche einen neuen Knoten der Klasse A zu schaffen, die eine Beziehung mit dem Benutzerknoten hat:Spring Data Neo4j - Erstellen neuen Knoten mit einer Verbindung mit einem vorhandenen Knoten
@NodeEntity
public class A implements Serializable {
/**
* Graph node identifier
*/
@GraphId
private Long nodeId;
/**
* Enity identifier
*/
private String id;
//... more properties ...
@Relationship(type = "HAS_ADVERTISER", direction = Relationship.OUTGOING)
private User user;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof IdentifiableEntity)) return false;
IdentifiableEntity entity = (IdentifiableEntity) o;
if (!super.equals(o)) return false;
if (id != null) {
if (!id.equals(entity.id)) return false;
} else {
if (entity.id != null) return false;
}
return true;
}
}
@NodeEntity
public class User implements Serializable {
/**
* Graph node identifier
*/
@GraphId
private Long nodeId;
/**
* Enity identifier
*/
private String id;
//... more properties ...
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof IdentifiableEntity)) return false;
IdentifiableEntity entity = (IdentifiableEntity) o;
if (!super.equals(o)) return false;
if (id != null) {
if (!id.equals(entity.id)) return false;
} else {
if (entity.id != null) return false;
}
return true;
}
}
Nun lassen Sie sie uns annehmen, haben folgende Daten für den neuen Knoten A:
{
"id": 1,
"nodeId": "0001-0001",
"user": {
"id": 4,
"nodeId": "0002-0002",
"name": null,
"firstName": null
}
}
ich versuche, den Knoten A mit einem Verhältnis zwischen dem neuen Knoten A und dem (bereits vorhandenen) Knoten des Nutzers zu erstellen, die die „id“ haben : 4 und "nodeId": "0002-0002" (eindeutiger Knotenbezeichner), statt dessen aktualisiert der Benutzerknoten die Felder "na mich "und" firstName "mit null
.
Ich bin mit dem GraphRepository Proxy, es zu schaffen:
@Repository
public interface ARepository extends GraphRepository<A> {
}
Gibt es eine Möglichkeit, es ohne dieses Update zu tun, nur die Beziehung mit dem Knoten Benutzer machen?
Vielen Dank für Ihre Antwort! –