【问题标题】:Neo4j save action over collection of entitiesNeo4j 保存对实体集合的操作
【发布时间】:2016-06-04 20:59:51
【问题描述】:

我刚刚在使用 Spring Data for Neo4j 时遇到了一个有趣的行为,我想知道这是我的错误,还是一些奇怪的错误。

我正在尝试一次保存所有 neo4j 实体的集合。方法签名承诺在这些刚刚保存的实体上返回一个 Iterator 的实例。我假设结果将是 Iterator over persited entitys,包含新分配的 ID。但是,返回值为 null,这与对单个实体调用保存操作不同:

Iterable<PhysicalMachine> savedPMs = this.physicalMachineRepository.save(pms);

数据是持久化的,我可以在调用后立即在数据库中看到它(即使在调试期间)。但是,“savedPMs”为空,这当然会在下次调用时抛出一个空指针……

我在这里错过了一些琐碎的事情吗?

【问题讨论】:

  • 请在 Spring JIRA for SDN 中提出问题:jira.spring.io/browse/DATAGRAPH
  • 哪个版本的 sdn 4?
  • 版本是4.0.0,我用的是neo4j 2.3.4。我还没有提出问题,但我打算在一天结束时提出......

标签: java neo4j spring-data-neo4j-4


【解决方案1】:

此问题已在 4.1.1.RELEASE 中修复,请参阅 https://jira.spring.io/browse/DATAGRAPH-760

注意

还建议您升级到 4.1.1,4.0 行中没有任何修复。这里有一个简短的升级指南:http://graphaware.com/neo4j/2016/02/24/upgrading-spring-data-neo4j-4-1.html

【讨论】:

  • 感谢您的建议。我尝试更新它,但我不是很成功(可能是由于不同的互联网页面告诉不同的事情),所以我决定在这个版本中停留一段时间。新版本是否向后兼容?是否可以在不重写旧查询(和实体)的情况下将 neo4j 2.3.4 与 sd-n4j 4.1.1 一起使用?我有很多,其中大多数返回列表,而不是迭代器实例。
  • 您从 SDN 3 升级到 SDN 4.1.1 吗?如果是这样,它们就不是完全向后兼容的。如果您要从 SDN 4 迁移到 4.1,那么您应该没问题 - 配置发生了变化,查询无法返回路径,但除此之外,4.1 中有许多改进
  • 我设法成功迁移,但我现在想知道是否有一种方法可以为每个执行的查询禁用 HTTP 驱动程序的日志记录。我在很短的时间内执行了很多查询,直到现在我有自己的内置解决方案来启用和禁用日志。但是,使用新驱动程序时,会记录每个 HTTPRequest,并且我的控制台会被淹没 :)
  • 找到了解决方案。使用自定义 logback.xml 并在那里抑制信息日志。 logback.qos.ch/manual/configuration.html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-17
  • 2014-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多