Мы используем JDBC в течение очень долгого времени в наших веб-приложениях. Основная причина, по которой мы его использовали, состоит в том, что мы на 100% контролируем код, sql и исправляем вещи своими руками. Кроме того, мы использовали триггеры внутри базы данных, а база данных разрабатывалась отдельно специалистами БД.
Однако многие теперь рекомендуют использовать Hibernate
, поэтому мы также подумали об использовании этого. Но мы обнаружили следующие проблемы.
-
Спящий режим не может соединяться с существующей базой данных. Он всегда пытается создать свою собственную.
-
Наша база данных может получить доступ к тому же приложению, которое находится на разных платформах (облако, сервер, VPS, персональный компьютер). Спящий режим может создавать проблемы из-за его кэширования в этой ситуации.
-
Мы никогда не хотели бы приводить "работу по созданию таблицы" в код Java. Мы создаем таблицы вручную, всегда.
-
Возможно, нам придется использовать очень длинные и сложные SQL-операторы. В прошлый раз мы использовали инструкцию с более чем 150 строками, объединив более 20 таблиц. Мы сомневаемся, столкнемся ли мы с проблемами в этом, когда дело доходит до спящего режима.
-
Наш код SQL хорош и стандартен. Сгенерированный спящий код, похоже, для нас грязный.
-
Мы всегда используем MySQL. Никогда не используйте другие DB.
-
Созданное приложение требует максимальной безопасности, связанной с медицинским. Если по крайней мере одна запись данных просочилась, мы закончили.
-
В базе данных есть много
foreign keys
,Primary Keys
,Composite Keys
,Unique Keys
и т.д. и т.д. На форумах некоторые жаловались, что Hibernate испортил их. -
Мы решили попробовать спящий режим, потому что некоторые люди утверждают: "Вы программисты? Вы используете уже мертвые
JDBC
!!."
С учетом этого, пожалуйста, дайте мне знать, действительно ли указанные пункты являются истинными (как я уже сказал, я узнал их через googling, обсуждение и т.д.) или нет. И, каковы плюсы и минусы Hibernate VS Java JDBC?