Поддержка транзакций в Hibernate Mongodb - PullRequest
0 голосов
/ 19 июня 2019

Будет ли Hibernate поддерживать транзакцию MongoDB?

В MongoDB 4.0 добавлена ​​поддержка транзакций ACID с несколькими документами. Но Hibernate все еще не поддерживает это, я не могу просто использовать аннотацию @Transactional (платформа Grails), чтобы добавить транзакционное поведение для операций MongoDB. Я должен написать код управления транзакциями самостоятельно. У кого-нибудь есть лучшее решение или идея о том, когда Hibernate поддерживает это? Спасибо!

Цитируется из Hibernate: MongoDB не поддерживает транзакции. Только изменения, примененные к одному и тому же документу, выполняются атомарно. Изменение, примененное к нескольким документам, не будет применено атомарно. Эта проблема слегка смягчена тем, что Hibernate OGM ставит все изменения в очередь, прежде чем применять их во время сброса. Таким образом, окно времени, используемое для записи в MongoDB, меньше, чем то, что вы сделали бы вручную.

Мы рекомендуем по-прежнему использовать разграничение транзакций с Hibernate OGM для прозрачного запуска операции сброса (при фиксации). Но не рассматривайте откат как возможность, это не сработает.

1 Ответ

0 голосов
/ 20 июня 2019

Поддержка транзакции MongoDB 4.0 работает в OGM-1554 . Возможно, вы захотите подписаться на этот тикет, чтобы увидеть обновления о прогрессе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...