Spring Data Neo4j Репозиторий Метод сохранения выполняет UNWIND MATCH instread UNWIND CREATE - PullRequest
0 голосов
/ 26 февраля 2019

Ниже приведены классы для данных о пружине. Neo4j пример отдыха

Класс модели

@Data
@NodeEntity
public class Model implements Serializable {

   @Id
   @GeneratedValue
   private Long id;

   private String name;

   private String uUID;

   private boolean status = true;

   @CreatedDate
   private Date createdDate;

   @LastModifiedDate
   private Date modifiedDate;

}

Класс репозитория моделей

@Repository
public interface ModelRepository extends Neo4jRepository<Model, Long> {

   Optional<Model> findByStatusTrueAndUUID(UUID uuid);

   Stream<Model> streamAllByStatusTrue();
}

Метод класса обслуживания

public Model createModel(Model request) throws DSException {
      return modelRepository.save(request);
}

Repository.save сгенерировал приведенный ниже запрос шифрования

UNWIND {rows} as row MATCH (n) WHERE ID(n)=row.nodeId SET n:`Model` SET n += row.props RETURN row.nodeId as ref, ID(n) as id, {type} as type with params {type=node, rows=[{nodeId=1, props={createdDate=null, name=1-name, modifiedDate=2019-02-26T12:05:16.184Z, uUID=05fdb066-13a4-4ed2-b53f-f3e48b5ff9ba, status=true}}]}

Из-за вышеизложенногоПри запросе шифра, который имеет MATCH вместо CREATE, узел запроса не сохраняется в базе данных neo4j

Пожалуйста, помогите разобраться и решить проблему.Ниже используются версии:

spring-data-neo4j:5.0.7.RELEASE

1 Ответ

0 голосов
/ 05 марта 2019

Проблема была с типом добавленной собственности.Если вы не передадите правильный тип свойства, такой как строка или целое число, как указано в @NodeEntity, мы столкнемся с этой ошибкой

...