我的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)
没有代码可以将我的数据恢复为原始数据,因为我已经搜索全局并在每个可能更改值的代码上提供断点。
答案 0 :(得分:0)
这个错误与我的其他bug有关,Argument错误。链接:Spring Data Neo4j - Argument Type Mismatch
它会将我的所有值恢复为默认值,因为当我重新启动程序时,它将获取我之前设置的默认数据。
只需要检查保存在数据库中的属性数据和数据,是正确的数据还是错误的类型数据。