当前位置: 首页 > 知识库问答 >
问题:

Hibernate Mongodb事务支持

公良昕
2023-03-14

Hibernate会支持MongoDB事务吗?

MongoDB4.0增加了对多文档ACID事务的支持。但是Hibernate仍然不支持这一点,我不能简单地使用@transactional(Grails framework)注释为MongoDB操作添加事务性行为。我得自己写事务性管理代码。有没有人有更好的解决方案或者什么时候Hibernate支持它?谢谢!

引自Hibernate:MongoDB不支持事务。只有应用于同一文档的更改是以原子方式完成的。应用于多个文档的更改不会自动应用。由于Hibernate OGM在刷新时间应用更改之前将所有更改排队,这个问题稍微减轻了一些。因此,用于写入MongoDB的时间窗口要比手动执行的时间窗口小。

我们建议您仍然使用Hibernate OGM的事务分界来透明地(在提交时)触发刷新操作。但不要考虑回滚的可能性,这是行不通的。

共有1个答案

荆鸿畅
2023-03-14

对MongoDB4.0事务的支持正在OGM-1554中进行。您可能希望跟随该票证查看有关进度的更新。

 类似资料:
  • 我们继续上一章节的内容,大家应该记得我们 Lua 代码中是如何完成 ngx_postgres 模块调用的。我们把他简单改造一下,让他更接近真实代码。 local json = require "cjson" function db_exec(sql_str) local res = ngx.location.capture('/postgres',

  • 介绍 Session非常类似于SqlRunner,差别是Session对象中只有一个Connection,所有操作也是用这个Connection,便于事务操作,而SqlRunner每执行一个方法都要从DataSource中去要Connection。样例如下: Session创建 与SqlRunner类似,Session也可以通过调用create //默认数据源 Session session =

  • 我有一种情况,我必须提交一部分代码作为它自己的事务。 我已经创建了一个表: 以及plpython3u语言中的函数: 第一种情况: 表中的条目正确:1、2、4 第二种情况: 表中的值未填充 我希望或应该添加到表 中,但出乎意料的是没有插入任何值。我想象函数打开了一个新的子事务,它不应该依赖于父事务。如果我是对的,请告诉我。 Postgres中是否存在自主交易?或者我必须修改我的plpython3u函

  • 我是redis的新手,我刚刚使用redis几个月了。目前我使用的是2.8.x稳定版本,但我试图使用3.0.0来导入redis集群功能。我使用java jedis作为客户机,这是我的问题:我发现jedis client的最新版本支持redis cluster lua脚本(jediscluster.evalsha),但我在哪里都找不到管道和事务相关的函数,所以我想知道是jedis还没有实现它(管道、事

  • 本文向大家介绍Dubbo支持分布式事务吗?相关面试题,主要包含被问及Dubbo支持分布式事务吗?时的应答技巧和注意事项,需要的朋友参考一下 目前暂时不支持,后续可能采用基于 JTA/XA 规范实现,如以图所示。      

  • MongoDB 4.0将引入具有ACID保证的事务支持。 Spring Data MongoDB是否已经支持MongoDB中的事务,如果不是,那么这个很棒的功能何时可用。我真的需要它,考虑到以下问题 - MongoDB模式设计,以支持应用程序水平扩展