09 kwietnia 2009

Grails z MySQL

Ostatnimi czasy kilkakrotnie dotykałem tematu konfiguracji bazy danych, ale rozwiązania typu Grails skutecznie mnie wyręczały w zadaniu. Grails udostępnia wbudowaną bazę danych HSQL, więc poznawanie go nie musi pociągać za sobą poznawania konfiguracji bazy danych. Po prostu baza danych jest i można z niej korzystać. Wszelkie niuanse bazodanowe schodzą na drugi plan. Dodając do tego automatyczne tworzenie struktur bazodanowych z pomocą GORM (zDeeSeLowane JPA) i jedyne, o co musimy zadbać, to stworzenie klas dziedzinowych, które później odpowiednio związujemy ze sobą relacjami jeden-do-jednego, jeden-do-wielu lub wiele-do-wielu (wiele-do-jednego nie jest niczym innym w Grails, jak odwróceniem jeden-do-wielu - przeciwnie do JPA, w którym należy wykonać kilka dodatkowych czynności konfiguracyjnych).

Ta niewiedza bazodanowa zaczęła mi lekko doskwierać i kiedy podczas ostatniej prezentacji Grails na konferencji java4peple przyszło mi zaprezentować sposób tworzenia relacji z klasami dziedzinowymi...zawiesiłem się! Niesamowicie frustrujące i nawet, jeśli nie zostało to specjalnie zauważone, doszedłem do wniosku, że czas z tym skończyć. Jako "produkt" tego kończenia stworzyłem artykuł Grails z MySQL wprowadzający w świat konfiguracji bazy danych MySQL w Grails. W ramach artykułu tworzę przykładową aplikację grailsową z pojedynczą klasą dziedzinową i kontrolerem, który korzysta z dynamicznego rusztowania.

Jeśli większość z przedstawionych tutaj terminów nie brzmi znajomo, a w planach masz rozpoznanie Grails, warto zajrzeć do mojego nowego artykułu Grails z MySQL. Tym samym kończę z przedstawianiem Grails wyłącznie z perspektywy książki DGG2, jak proszono mnie od dawna (dzięki Radek H. za wytrwałość, a Marcinowi M. ślę specjalne podziękowania za ciągłe przywoływanie mnie do porządku, aby zamiast mydła i powidła zaprezentować w końcu coś naprawdę wartościowego ;-)). Uwagi mile widziane.