Я много работал с Hibernate в качестве моей реализации JPA. В большинстве случаев это нормально! Но я также видел много подводных камней:Ловушки и практические примеры использования: Toplink, Hibernate, Eclipse Link, Ibatis
- Удаленный доступ с сохраненными объектами затруднен, потому что Hibernate заменяет коллекции Java своей собственной реализацией коллекции. Поэтому каждый клиент должен иметь библиотеки Hibernate .jar. Вы должны заботиться об исключениях LazyLoading и т. Д. Один из способов обойти эту проблему - использование веб-сервисов.
- Грязная проверка выполняется с использованием базы данных без блокировки.
- «Задержка SQL», приводит к тому, что доступ к данным не соответствует требованиям ACID. (Утерянные данные ...)
- Имплицированные обновления >> Так что мы не знаем, был ли объект изменен или нет (фиксация вызывает обновления).
Есть ли аналогичные проблемы с Toplink, Eclipse Link и Ibatis? Когда я должен их использовать? Есть ли у них аналогичная производительность? Есть ли причины выбрать Eclipse Link/Toplink ... over Hibernate?
Грязная проверка не производится в базе данных с Hibernate. Сущность помечена как загрязненная после доступа к установителю ** и ** Hibernate также полевое сопоставление полей с моментальным снимком объекта, принятого до модификации. –