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