相关疑难解决方法(0)

如何配置Hibernate以立即应用所有保存,更新和删除?

如何配置Hibernate在会话执行每个操作后立即将所有保存,更新和删除应用到数据库服务器?默认情况下,Hibernate将所有保存,更新和删除操作排入队列,并仅在执行flush()操作,提交事务或关闭发生这些操作的会话后将其提交到数据库服务器.

立即刷新数据库"写"操作的一个好处是程序可以捕获并处理它们出现的代码块中的任何数据库异常(例如ConstraintViolationException).对于延迟或自动刷新,这些异常可能在导致SQL操作的相应Hibernate操作之后很久发生.

更新:

根据接口Session的Hibernate API文档,在会话结束之前捕获和处理数据库异常的好处可能完全没有任何好处:"如果会话抛出异常,则必须回滚事务并丢弃会话.异常发生后,Session的内部状态可能与数据库不一致."

或许,然后,使用try-catch块围绕"立即"Hibernate会话写操作的好处是在异常发生时立即捕获并记录异常.立即冲洗这些操作是否还有其他好处?

java database hibernate

8
推荐指数
1
解决办法
9988
查看次数

标签 统计

database ×1

hibernate ×1

java ×1