Neo4j - 重新启动程序始终还原新添加数据的值

时间:2016-10-21 03:21:31

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

我的Neo4j数据库存在问题。当我向数据库添加新数据并更新它的值(默认值:0.0)时,它将记录在数据库中,然后当我刷新页面时,数据不会改变。

但是,当我重新启动程序(Stop - Star或Restart)时,新数据的值将恢复到原始值(0.0)。我已经尝试跟踪与更改值相关的所有事件,但没有执行断点来更改值。

是否有任何错误可以将值恢复为默认值?因为我的新数据的值与我将其添加到数据库(更新前)之后的默认值相同。

这是我创建新数据的简单代码

LineItem newLineItem = new LineItem(engine, previousLineItem.getNo() + 1, previousLineItem.getSection(), "ACTIVITY ENGINE", previousLineItem.getActivityCode(), "ENGINE", 0.0,
    "",checked, "");
lineItems.add(newLineItem);
lineItemService.save(lineItems);

这就是我更新数据的方式

LineItem lineItem = lineItemService.findById(id);
if(lineItem != null){
    if(name != null)lineItem.setName(name);
    if(duration != null)lineItem.setDuration(roundUpToNearestQuarter(duration));
    lineItemService.save(lineItem);
    return lineItemList;
}
return new ArrayList<LineItem>();

问题是,当我只刷新页面并且从不重新启动它时,持续时间数据与最新数据相同,但在重新启动程序后,持续时间数据将恢复为默认值(0.0)

没有代码可以将我的数据恢复为原始数据,因为我已经搜索全局并在每个可能更改值的代码上提供断点。

1 个答案:

答案 0 :(得分:0)

这个错误与我的其他bug有关,Argument错误。链接:Spring Data Neo4j - Argument Type Mismatch

它会将我的所有值恢复为默认值,因为当我重新启动程序时,它将获取我之前设置的默认数据。

只需要检查保存在数据库中的属性数据和数据,是正确的数据还是错误的类型数据。