在我的jsf bean的init方法中,我正在调用从数据库中获取对象的服务。我们正在使用hibernate。此init方法预先填充表单上的值。用户进行编辑并在提交时调用另一个方法来捕获编辑并更新数据库中的该对象。现在,此时我可以将在init方法中检索的数据库对象存储为支持bean上的属性,或者我可以在jsf bean中调用的submit方法中再次检索原始数据库对象(但这是对db / cache的另一个调用) )。这里有首选方式吗?
答案 0 :(得分:0)
value="#{sessionScope.xxx.xxx}"
merge
或persist
实例。答案 1 :(得分:0)
第一种方式(存储分离的实体并将其合并到提交上)更好,特别是当与版本字段一起使用时(参见Java - JPA - @Version annotation),因为它提供了一种检测陈旧实体的方法。