将jpa实体作为属性存储在jsf支持bean中

将jpa实体作为属性存储在jsf支持bean中,jsf,jpa,Jsf,Jpa,在我的JSFbean的init方法中,我调用了从数据库获取对象的服务。我们正在使用hibernate。此init方法预填充表单上的值。用户进行编辑,并在提交时调用另一个方法来捕获编辑并更新数据库中的对象。现在,我可以将init方法期间检索到的数据库对象存储为backingbean上的属性,或者在jsfbean中调用的submit方法中再次检索原始数据库对象(但这是对db/cache的另一个调用)。这里有更好的路吗 将检索到的实体实例放入会话中 使用value=“#{sessionScope.xx

在我的JSFbean的init方法中,我调用了从数据库获取对象的服务。我们正在使用hibernate。此init方法预填充表单上的值。用户进行编辑,并在提交时调用另一个方法来捕获编辑并更新数据库中的对象。现在,我可以将init方法期间检索到的数据库对象存储为backingbean上的属性,或者在jsfbean中调用的submit方法中再次检索原始数据库对象(但这是对db/cache的另一个调用)。这里有更好的路吗

  • 将检索到的实体实例放入会话中
  • 使用
    value=“#{sessionScope.xxx.xxx}”
  • 提交时,您可以在会话中
    合并
    持久化
    实例
  • 第一种方法(存储分离的实体并在提交时将其合并)比imo更好,尤其是与版本字段一起使用时(请参阅),因为它提供了一种检测过时实体的方法