Nauka baz danych w Javie

0

Witam,
Będę miał przedmiot na uczelni dot. relacyjnych baz danych. Chcę go wykorzystać do nauki Springa.

Zastanawia mnie jedno: jak najlepiej podejść do tego, aby zrozumieć istotę baz? Podejść jest kilka, jedno z nich to niskopoziomowe JDBC, drugie to Hibernate i JPA.

Czy warto na początek zacząć od JDBC, czy może nie ma przeciwwskazań, aby od razu programować w abstrakcji jaką jest Hibernate.

Coraz bardziej jestem skłonny iść w stronę JDBC, ponieważ będzie to okazja pobawić się niskopoziomowym SQLem. A to doświadczenie może być cenniejsze niż zaczynanie od abstrakcji.

Jakie jet Wasze zdanie?

Pozdrawiam,

0

Nie wiem co ma do tego wszystkiego spring ;]
Naucz się SQLa, nie zaszkodzi ci ;]

0

Spring ma to, że w czymś muszę zrobić interfejs. No i przy okazji chcę nauczyć się tego frameworka przed praktykami.

No to mój pomysł wygląda tak: w ramach zajęć napiszę aplikację w JDBC, a potem przepiszę ją sobie do Hibernate.

Brzmi sensownie?

0

Nie da sie napisac "aplikacji w jdbc" :P Możesz napisać DAO za pomocą JDBC a potem zmienić to DAO na Hibernate. Moja rada: zrób to tak żeby pozostałe cześci systemu w ogóle tego nie zauważyły. Tzn że po prostu podmienisz sobie w konfiguracji Springa jednego beana na drugiego beana i wszystko ma działać.

0

Hubernate, a szerzej JPA to zupełnie inne podejście niż SQL. Przy czym oba są tak samo ważne i znajomość obu raczej jest wymagana. Ma to swoje uzasadnienie, nie napiszesz dobrze kodu obiektowego (szczególnie nie opanujesz criteria API) bez zrozumienia jak działa model relacyjny, który jet wynikiem działania twojego kodu.
Co bym zrobił na twoim miejscu?
Napisał aplikację z użyciem Hibernate, ale przygotował ją w dwóch wersjach. Pierwszej "pure JPA" i drugiej "pure SQL" (z wykorzystaniem native query). Wybór wersji były zależny od konfiguracji w springu (choć uważam, że to poroniony pomysł - spring wprowadza własne mechanizmy zarówno dla JPA jak i JDBC, które ukrywają różnice oraz komplikują życie początkującego) co pozwoli ci na ogarnięcie trzech podstawowych zagadnień:

  1. SQL
  2. JPA
  3. Spring - kontener IoC
0

Dzięki, skorzystam z opcji oferowanej przez Koziołka.

0

DAMN, czytam sobie o Spring MVC. I moje wrażenia są mocno negatywne: może dlatego, że nie jestem zawodowym programistą. Masakrycznie dobija mnie trudność jaką sprawia połączenie Hibernate z frameworkiem Spring MVC. Chodzi o pisanie konfiguracji XML. Pamiętam jak szybko tworzyłem CRUD w ASP.NET MVC. Męczę się z konfiguracją zamiast robić to co lubię najbardziej: pisać programy.

Nie jest to ani przyjemne, ani specjalnie łatwe. Czytam sobie "Spring w Akcji" od Helionu. Odnoszę wrażenie, że jeszcze nie dojrzałem do tej technologii / nie potrzebuje jej / korzyści związane z IoC w tak małym projekcie nie sprawdzają się.

Powiedzmy, że zrozumiałem ideę IoC, że ułatwia to na przykład pisanie ogromnych aplikacji korporacyjnych przez ułatwienie testów na prostych obiektach Javy zamiast zależności skompilowanych hierarchii klas. Ale dla aplikacji bazodanowych połączonych z WebServices (uwierzytelniane, na potrzeby mobilne) jakie chcę pisać wydaje mi się to zbyt skomplikowane.

Zastanawiam się nad nieco innym krokiem: olać Spring MVC 3.1 i wziąć GRails i Hibernate. Cisnąć w 2 wersjach, native SQL i GORM.
http://www.brimllc.com/2011/01/grails-execute-rawnative-sql-queries/

Czy ten pomysł jest racjonalny?

Moim zdaniem:

  1. Pozwoli mi się to zaadaptować w ekosystemie Springa.
  2. Jak pracodawca będzie kazał nauczyć się Springa to po prostu to zrobię jak będę musiał.

Pozdrawiam serdecznie!

0

o_O jakie znów XMLe? Przecież zarówno Springa jak i Hibernate można teraz konfigurować za pomocą adnotacji!
Lekcja na dziś: @Entity, @Autowire, @Controller...

0

Dobra, to zabieram się za lekturę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1