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

Добра идея ли е да използвате Hibernate за представяне на релациите на таблици?

Hibernate има стръмна крива на обучение, но има и следните предимства:

  1. Вмъкването/актуализациите са по-лесни поради „мръсна проверка“. След като имате услугата, можете лесно да добавяте нови полета, без да променяте ред във вашата услуга. Просто трябва да добавите нови колони и да ги попълните и Hibernate ще се погрижи за частта за постоянство.
  2. Hibernate може да реши "загубената актуализация" проблем поради оптимистичния контрол на едновременното заключване.
  3. Интеграционното тестване е по-лесно, тъй като можете автоматично да генерирате схемата за вашата база данни в паметта (HSQLDB, H2, Derby)
  4. Има поддръжка на приставки за кеширане (чрез доставчици на кеширане от 2-ро ниво на трети страни), някои доставчици ви позволяват да имате както „транзакционни”, така и „клъстерни” кешове.
  5. Има вградена поддръжка на AUDIT (Envers)

Така че това не е „по подразбиране“ решение за постоянство, тъй като има милиони уеб приложения, написани на PHP без ORM рамка, които се изпълняват успешно в производството.

Мисля, че Hibernate има много повече смисъл за корпоративни приложения, където кеширането, одитът, надеждността на паралелност са задължителни нефункционални изисквания.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете резултати от заявка за броене, като игнорирате израза LIMIT

  2. Съхранена процедура, която автоматично изтрива редове, по-стари от 7 дни в MYSQL

  3. MySQL REPLACE в автоматично увеличен ред

  4. Doctrine Query за намиране на общия брой резултати в MySQL с LIMIT

  5. MySQL/MariaDB - подреждане по вътрешна подзаявка