#mongodb #groovy #spring-data #querydsl #morphia
#mongodb #groovy #spring-данные #querydsl #morphia
Вопрос:
Я использую QueryDSL 4.2.1, Morphia 1.3.2 и драйвер Java MongoDB 3.5.
После обновления сервера MongoDB до версии 4.0 я обновил драйвер mongo-java до версии, поддерживающей транзакции в MongoDB.
QueryDSL, похоже, отказался от интеграции с Morphia в версии 1.3.2. Возможно, решение заключается в замене Morphia данными Spring.
Как мне использовать транзакции в MongoDB 4.0 с использованием QueryDSL и Morphia?
Ответ №1:
Я не знаю о QueryDSL, но с помощью самого Morphia вы можете начать сеанс через Datastore
:
https://morphia.dev/2.0.0/javadoc/dev/morphia/Datastore.html#startSession ()
Более подробную информацию можно найти здесь:https://morphia.dev/2.0.0/guides/transactions
Комментарии:
1. Более интересный метод, вероятно, с помощью transaction morphia.dev/2.0.0/javadoc/dev/morphia/…
2. QueryDSL использовался в качестве общего языка в приложении, написанном на Groovy и Java, для доступа к Oracle и Mongo. Чтобы использовать транзакции Mongo, нам пришлось бы использовать более новые версии Morphia, что было невозможно из-за интеграции с QueryDSL. Итак, мы заменили Morphia данными Spring, но генерацию кода с использованием maven-compiler-plugin также пришлось заменить плагином Maven APT. Сборка не удалась, и решением было бы разбить приложение на модули, но это не то, что мы хотели. Итак, мы решили отказаться от QueryDSL.