如何更新 CrudPanel 中的项目
How to update items in CrudPanel
在 CrudPanel 中,我需要更新一些项目(不是通过 CRUD 对话框)。像这样:
@Transactional
...
instance.setSomeAttribute(newValue);
return savedInstance = instanceRepository.save(instance);
更新后在 dataProvider 上调用 refreshAll 会产生警告 Got an RPC for non-existent node: xxxx
。另外我想如果只改变一个项目,刷新所有项目有点贵。
调用特定的刷新项目,在另一边,refreshItem(instance)
,给出Object of class [...MenuItem] with identifier [xxxx]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)
我也尝试将 newInstance
传递给 refreshItem,结果相同。
有人可以指出如何进行吗?
检查 equals
和 hashCode
它们不包含在您调用 refreshItem
.
时可能已更改的字段
在 CrudPanel 中,我需要更新一些项目(不是通过 CRUD 对话框)。像这样:
@Transactional
...
instance.setSomeAttribute(newValue);
return savedInstance = instanceRepository.save(instance);
更新后在 dataProvider 上调用 refreshAll 会产生警告 Got an RPC for non-existent node: xxxx
。另外我想如果只改变一个项目,刷新所有项目有点贵。
调用特定的刷新项目,在另一边,refreshItem(instance)
,给出Object of class [...MenuItem] with identifier [xxxx]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)
我也尝试将 newInstance
传递给 refreshItem,结果相同。
有人可以指出如何进行吗?
检查 equals
和 hashCode
它们不包含在您调用 refreshItem
.