我收到此错误java.sql.BatchUpdateException: ORA-01732: data manipulation not legal on this view
。经过我们管理员的调查,我被告知代码正在尝试更新只读对象。
我被告知要做其中任何一个。
- 使用单独的事务
- 将实体重写为 DTO 并使用 DTO。
我用谷歌搜索并验证了 Hibernate 文档。但我没有明确的想法。有人可以举个例子吗?
还有一个问题,当查询数据库并获取实体,然后更新它,如下所示:
MyEntity.setName("Jon Doe");
如果我不执行类似session.save
或类似的操作,实体会自动保存还是应该在代码中的某个位置提交这些更改?(或者它取决于 Hibernate 中的自动提交选项?)。
环境:Hibernate、JBoss 4.2.2、JPA 和 EJB。(没有弹簧)