Spring boot 使用同一存储库保存和检索数据时不保存数据Spring boot JPA

Spring boot 使用同一存储库保存和检索数据时不保存数据Spring boot JPA,spring-boot,jpa,save,vaadin,Spring Boot,Jpa,Save,Vaadin,这就是我正在做的:我正在用来自JPA的数据填充一个表。它很好用。在这个表中,我有输入字段来修改数据,然后我想保存它。employeeProjectRepository没有调用save方法,我不明白为什么。。。 但之后的通知消息被调用 for (Week w : weekRepository.findAll()) { Grid.Column<EmployeeProject> gridColumn = grid.addComponentColumn(employeePr

这就是我正在做的:我正在用来自JPA的数据填充一个表。它很好用。在这个表中,我有输入字段来修改数据,然后我想保存它。employeeProjectRepository没有调用save方法,我不明白为什么。。。 但之后的通知消息被调用

for (Week w : weekRepository.findAll()) {

        Grid.Column<EmployeeProject> gridColumn = grid.addComponentColumn(employeeProject -> {

            TextField amountTime = new TextField();
            amountTime.setWidth("85px");
            amountTime.setValue(String.valueOf(employeeProject.getAmountTimeEmployeeOnProject(w)));
            //Saving never called
            amountTime.addValueChangeListener(valueChangeEvent -> {
                employeeProject.setAmountTimeEmployeeOnProject(employeeProject.getProject(), w, 
     Integer.parseInt(valueChangeEvent.getValue()));
                employeeProjectRepository.save(employeeProject);
                notificationMessage.openSuccess("Saving");
            });

           return amountTime;
        });

        gridColumn.setHeader(w.getWeekNumber() + " / " + w.getYear());

    }
for(周w:weekRepository.findAll()){
Grid.Column gridColumn=Grid.addComponentColumn(employeeProject->{
TextField amountTime=新建TextField();
amountTime.setWidth(“85px”);
setValue(String.valueOf(employeeProject.getAmountTimeEmployeeOnProject(w));
//储蓄从未打过电话
amountTime.addValueChangeListener(valueChangeEvent->{
employeeProject.setAmountTimeEmployeeOnProject(employeeProject.getProject(),w,
parseInt(valueChangeEvent.getValue());
employeeProjectRepository.save(employeeProject);
notificationMessage.openSuccess(“保存”);
});
返回时间;
});
setHeader(w.getWeekNumber()+“/”+w.getYear());
}
作为前端框架,我使用的是Vaadin 14。 有人能帮忙吗


提前谢谢你的帮助

Vaadins Grid很好,我可以建议利用它(但我也明白,能够直接用自己的文本字段编辑是很好的,所以没有压力)。现在谈谈你的问题;请说明如何设置网格的项目。您使用的是内存中的数据提供程序,还是lazyloading后端数据提供程序?您能否进一步检查employeeProject是否在DB中实际更新,但只是没有显示在网格中?您可能是说保存没有效果,原因可能有很多。您需要检查您的实体。例如,如果该属性没有FetchType.EAGER,则需要在保存后通过Hibernate调用initialize。还请检查级联策略以及孤立删除选项。