Grails 1.1.1
Pojawiła się nowa wersja Grails 1.1.1. To tylko minor release, ale jedną z ciekawych rzecz jest plugin integrujący Grails z Google App Engine. Grails 1.1.1 korzysta z Groovy 1.6.3.
Pojawiła się nowa wersja Grails 1.1.1. To tylko minor release, ale jedną z ciekawych rzecz jest plugin integrujący Grails z Google App Engine. Grails 1.1.1 korzysta z Groovy 1.6.3.
"Wepchnąłem" właśnie na GitHub'a małą aktualizację w projekcie wydatków. Można teraz zapisywać wydatki na konkretny dzień, z podaną kwotą, datą, opisem i wybraną kategorią.
Naukę Grails prowadzę wielowątkowo. Lektura dokumentacji, przeglądanie wybranych rozdziałów książek, eksperymenty z poszczególnymi komponentami na testowym projekcie oraz próba sił w dwóch konkretnych projektach. Tym razem mała relacja z próby użycia Ajax'a z Grails.
Pozostało mi jeszcze do opisania kilka funkcji GORM, o których nie wspomniałem wcześniej. W dokumentacji znajdują się w części "advanced", ale wydaje mi się, że ich zrozumienie nie jest ani trochę trudne.
W Groovy istnieje możliwość podawania wartości jakie zostaną przypisane do właściwości obiektu w konstruktorze, bez wcześniejszego jawnego definiowania takiego konstruktora.
GORM pozwala nam na wykonywanie zapytań w kilka różnych sposobów. Możemy do nich zaliczyć podstawowe metody operujące na klasach domenowych, dynamic finders (metody typu find*), kryteria (które pozwalają budować zapytania podobnie jak robi to JaQu) albo wykorzystać stary (dobry) HQL.
W pierwszym i drugim poście na temat Grails ORM pokazałem jak wygląda klasa domenowa oraz wykonanie podstawowych operacji na danych (CRUD). Pokazałem też jak wyglądają relacje. W tym poście omówię zagnieżdżone klasy domenowe (kompozycja wg. terminologii z dokumentacji), strategie dziedziczenia oraz optimistic i pessimistic locking.
W komentarzach do notatki Jacka Laskowskiego został poruszony temat dwóch klas domenowych o tych samych nazwach, ale w różnych pakietach.
Wykonałem aktualizację Grails do 1.1. Dla ułatwienia tego i tak w miarę łatwego procesu podam kroki jakie wykonałem:
Bez ostatniego kroku próba uruchomienia projektu skończy się komunikatem, że projekt jest dla wersji 1.0.4 (lub innej), a aktualne ustawienia Netbeans wskazują na Grails 1.1. Ładnie poprosi nas też o wykonanie aktualizacji projektu. Koniec. Projekt powinien już działać z Grails 1.1 (i przy okazji Groovy 1.6).
Udostępniono właśnie wersję 1.1 Grails. Od kilku tygodniu dostępne już były wersje RC. Pełen opis zmian można znaleźć na stronie projektu.