Mysql
 sql >> база данни >  >> RDS >> Mysql

JDBC VS Hibernate

Отговаряне на изброените по-горе проблеми:

1. Hibernate не може да се свърже със „Съществуваща“ база данни. Винаги се опитва да създаде своя собствена.

Това е грешно. Хибернацияможе свържете се със съществуваща база данни и не винаги се опитва да я пресъздаде. Просто трябва да изключите параметър като hbm2ddl. auto .

2. Нашата база данни може да има достъп от едно и също приложение, което е на различни платформи (облак, сървър, VPS, персонален компютър). Хибернацията може да създаде проблеми поради кеширането си в тази ситуация.

Hibernate има регулируем кеш, така че това също не е проблем.

3. Ние никога не обичаме да даваме "работа за създаване на таблица" на java кода. Създаваме таблици ръчно, винаги.

Няма проблем. Вижте стр.1 по-горе. Освен това има няколко удобни библиотеки за непряко създаване и актуализиране на таблици (напр. liquibase ), който може да се използва в комбинация с хибернация перфектно.

4. Може да се наложи да използваме много дълги и сложни SQL изрази. Последния път използвахме оператор с повече от 150 реда, обединяващи повече от 20 таблици. Съмняваме се дали ще се сблъскаме с проблеми, когато става въпрос за Hibernate.

Винаги можете да използвате директни JDBC повиквания и да извиквате собствени SQL заявки чрез хибернация, ако е необходимо.

5. Нашият SQL код е хубав и стандартен. Генерираният от хибернация код изглежда е малко мръсен за нас.

Отново, ако трябва да извикате някакъв логически сложен SQL код вместо автоматично генериран хибернация - можете да го направите.

6. Винаги използваме MySQL. Никога не използвайте друга БД.

Изобщо не е проблем. Hibernate има специална поддръжка на MySQL диалект:org.hibernate.dialect.MySQLDialect .

7. Приложението, което създаваме, изисква максимална сигурност, свързана с медицината. Ако изтече поне един запис с данни, сме готови.

Проблемите със сигурността не са свързани с ORM техниките. Hibernate е просто логичен и удобен обектно-ориентиран слой между чиста база данни JDBC извиквания и инструменти на програмистите. Това по някакъв начин не влияе върху сигурността на общата мрежа.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Динамична връзка с MySQL база данни за Entity Framework 6

  2. mysql сортиране на номерата на версиите

  3. Как да променя паролата на root потребителя в MySQL?

  4. Забавяне на скоростта на вмъкване с нарастването на таблицата в mysql

  5. Rails 3 заявка при условие на броене на асоциация