Я использую Spring neo4j ogm, и у меня уже есть объекты, сохраненные в базе данных. Теперь я хочу создать новые отношения между ними с весенним огом. Проблема в том, что у меня есть только сущности uuid в данный момент, и я хочу избежать getEntityByUuid (), который может получить объект сущности, а затем repo.save () сделает свое дело.
Если мне нужно создать пользовательский запрос, может ли он быть в хранилище в следующем формате:
public interface EntityRepository extends Neo4jRepository<Entity, Long> {
@Query("MATCH (e:Entity {uuid:$0}), (e2:Entity{uuid:$1}) CREATE (e)-[:MENTION{relationshipProperties...}]->(e2)")
boolean createRelationshipBetweenExistingEntities(String entity1uuid, String entity2uuid, RelationshipNeo4j rel);
Это мои классы:
public abstract class AbstractEntity {
@Id
@GeneratedValue
private Long id;
}
@RelationshipEntity(type = "MENTION")
public class RelationshipNeo4j extends AbstractEntity {
@Property
protected String type;
@Property
protected LocalDate date;
@StartNode
protected Entity start;
@EndNode
protected Entity end;
}
@NodeEntity
public class Entity extends AbstractEntity {
protected String name;
@Index(unique = true)
protected String uuid;
protected String wikiURL;
protected String description;
@Relationship(type="MENTION")
protected List<RelationshipNeo4j> relationships;
}