![]() |
1
2
我做了很多阅读和测试。问题来自我对JPA/Hibernate的误解。merge()始终对数据库执行命中操作,并为实体安排更新。我没有在JPA规范中提到这一点,但是“Hibernate”的Java持久性确实提到了这一点。 通过EntityManager(和会话作为回退)API,它看起来似乎无法在不安排更新的情况下将实体分配给当前持久上下文。毕竟,我想要的是导航对象图,根据需要更改属性,并在以后触发更新(如果需要,使用版本检查)。我认为每个使用ORM的webapp都必须做些什么? 我正在寻找的基本工作流:
使用来自Spring的OSIV过滤器和来自Wicket的IModel实现,我认为我已经存档了这一点。 我基本上看到了两种可能的方法: a)加载实体和进入某个页面(用例)时所需的所有关联,让它们分离,在几个HTTP请求过程中根据需要添加/更改它们。然后在用户启动保存时重新附加它们(验证器将确保有效状态),并将它们提交到数据库。 b)使用当前设置,但确保所有新添加的实体都设置了所有必需的字段(可能使用了一些向导组件)。对于每个merge(),我仍然拥有对数据库的所有更新,但希望数据库管理员不会意识到;) 其他人如何在Web环境中使用JPA?我还有别的选择吗? |
![]() |
A. Shawkat · 获取请求不起作用 7 年前 |
![]() |
Yura · 无法链接引导。min.css和动态web app 7 年前 |
![]() |
jasonharper · 无互联网连接的WiFi连接设备的最佳实践 7 年前 |
![]() |
Thanh Dong · 在spring boot web应用程序中运行jar文件时,创建名为“ConfigurationPropertiesBindingPostProcessor”的bean时出错 7 年前 |
![]() |
Karim Sawma · react web app中缺少滚动条 7 年前 |
![]() |
Nathan · Flask API回调侦听器 7 年前 |
![]() |
David Artmann · Vaadin网格日期渲染器不适用 7 年前 |
![]() |
Hayden · 如何防止计数器的增量超过元素的高度? 7 年前 |