在我的 jsf bean 的 init 方法中,我正在调用从数据库中获取对象的服务。我们正在使用休眠。此 init 方法预先填充表单上的值。用户进行编辑并在提交时调用另一个方法来捕获编辑并更新数据库中的该对象。现在,我可以将在 init 方法期间检索到的数据库对象存储为支持 bean 上的属性,或者我可以在 jsf bean 中调用的提交方法中再次检索原始数据库对象(但这是对 db/cache 的另一个调用)。这里有首选方式吗?
问问题
219 次
2 回答
0
- 将检索到的实体实例放入会话中。
- 使用将表单字段的目标设置为每个映射到字段
value="#{sessionScope.xxx.xxx}"
- 在提交时,您可以
merge
或persist
会话中的实例。
于 2013-03-21T03:37:57.603 回答
0
第一种方法(存储分离的实体并在提交时将其合并)更好,尤其是与版本字段一起使用时(请参阅Java - JPA - @Version 注释),因为它提供了一种检测陈旧实体的方法。
于 2013-03-21T04:58:08.073 回答