Spring DATA, kilka ważnych pytań

0

Hej, potrzebuje rozwiać wątpliwości, byłbym bardzo wdzięczny gdyby ktoś je rozwiał.
Czytam strony anglojęzyczne ale wolałbym podstawy poznać "po naszemu".
Jeśli to zły dział to proszę o przeniesienie.

  1. Czy można korzystać w jednej aplikacji ze Spring DATA oraz Hibernate?
  2. Czy podczas używania Spring DATA (dziedziczenie po repozytoriach) po prostu pomijany implementacje i w serwisie wstrzykujemy od razu interface?
  3. W Spring DATA samą nazwą metody możemy stworzyć zapytanie, w Hibernate sami musimy napisać to zapytanie? Przykładowo:
    Spring DATA: User findByName(String name);
    Hibernate : session.createQuery("SELECT ...");

Jeśli ktoś odpowie na te to zapewne pojawią się nowe pytanka.

2
  1. Można.
  2. Na właśnie na tym polega Spring Data. Sam tworzy implementacje.
  3. Tak.
0

W takim razie, czy odpowiednim rozwiązaniem jest łączenie różnego rodzaju repozytoriów w jednym projekcie? Do podstawowych np. użyć DATA a do trudniejszych Hibernate czy raczej powinno się trzymać jednego? Wiadomo, że w jednym i w drugim można tworzyć samemu zapytania. Więc czy to nie jest przewaga Spring DATA, że możemy ułatwić sobie życie "gotowymi" zapytaniami i jednocześnie napisać własne a w Hibernate piszemy własne poza kilkoma wyjątkami (save, update...)?

0

Ale czemu się tak upierasz przy tym Hibernate? Myślisz o jakimś konkretnym przypadku? Prawdopodobnie nigdy nie będziesz musiał napisać własnego zapytania.

0

Piszę pierwszą aplikację Springową no i zawarłem tam Hibernate i zaczyna się problem z zapytaniami... tzn muszę pisać samemu.
W takim razie odejść od Hibernate na rzecz Spring Data?

0

Jeśli to pierwsza aplikacja, to gwarantuję ci, że ze Spring Data nie będziesz musiał pisać nic swojego. A z czym masz problem przy pisaniu zapytań? Może Criteria API cię zainteresuje? Od siebie polecam też JOOQ, uczy myśleć w SQLu.

0

Przecież w Springu Data tez możesz tworzyć własne implementacje metod , więc hibernate nie jest potrzebny...

0

No dobrze. Pisać SQL'ki umiem ale chciałbym zrobić tą aplikację jak najczystszą :)

W takim razie Hibernate to przeżytek?
Jak z konfiguracją (templatka do Hibernate)? DataSource zostaje to samo?

0

Hibernate to nie żaden przeżytek. Hibernate jest jedną z implementacji JPA, tylko że Hibernate ostatnio porzuca swoje nadmiarowe funkcjonalności wobec JPA.
W Springu Data nadal musisz podać JPAVendora

0

no w takim standardowym projekcie z Spring Data - Hibernate robi jako dostawca JPA, więc siłą rzeczy masz już tam Hibernate.

Krzywy Lew napisał(a):

Piszę pierwszą aplikację Springową no i zawarłem tam Hibernate i zaczyna się problem z zapytaniami... tzn muszę pisać samemu.
W takim razie odejść od Hibernate na rzecz Spring Data?

http://stackoverflow.com/a/11881203

możesz normalnie użyć sobie entity managera - lub ciekawiej zintegrować do tego np. querydsl

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