• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed JAVA i SQL jak najwygodniej pracować?

VPS Starter Arubacloud
0 głosów
696 wizyt
pytanie zadane 21 lipca 2018 w Java przez GulderBone Użytkownik (600 p.)
zamknięte 22 lipca 2018 przez GulderBone
Chciałbym się dowiedzieć jak pracujecie z bazami danych i Java'ą, chodzi mi o narzędzia, których używacie żeby mieć wygodny wgląd w bazę i prosty kod javy.
komentarz zamknięcia: Otrzymałem odpowiedź

3 odpowiedzi

+2 głosów
odpowiedź 22 lipca 2018 przez Mateusz51 Nałogowiec (28,180 p.)
wybrane 22 lipca 2018 przez GulderBone
 
Najlepsza
Dla dość małych baz danych polecam narzędzia takie jak Hibernate ORM oraz Spring Data. W przypadku gdy chciałbyś pracować z wielokrotnie zagnieżdżonymi encjami i skomplikowaną strukturą polecam MyBatis który pozwala odzyskać kontrole nad bazą :P
komentarz 22 lipca 2018 przez Wiciorny Ekspert (269,120 p.)

Dla dość małych baz danych 

:D Bazy danych Relacyjnych bazujących na ORM są ogromne, a nie małe... przecież wszystkie stare projekty bazują na tym :) ... tu kwestia jest  w 

- szybkości dostępu do danych, gdzie w MyISAM/ NoSQL a nie InnoDB jest to znacznie szybsze 

- systemów rozproszonych, gdzie problemów zarówno z ATOMOWOŚCIĄ DANYCH pomiędzy serverami jak i PROBLEMAMI Z utrzymaniem " tranzakcji" ( CZYT.  ZASADMI ACID )  JEST trudne do wyłapania

komentarz 22 lipca 2018 przez Mateusz51 Nałogowiec (28,180 p.)
Możesz mi wytłumaczyć jak twój komentarz wiąże się z moim, bo czytam go już drugi raz i nie mam pojęcia?
komentarz 22 lipca 2018 przez Wiciorny Ekspert (269,120 p.)
narzędzia które podałeś są idealnym rozwiązaniem na duże bazy :) a nie na małe
komentarz 22 lipca 2018 przez Mateusz51 Nałogowiec (28,180 p.)
Bardziej mi chodziło o to że w momencie gdy nasza encja ma 20-30 atrybutów i wielokrotne relacje z innymi encjami orm w stylu Hibernate może okazać się mocno upierdliwy gdy chcemy wyciągnać lub wstawić np tylko 3 pola.
0 głosów
odpowiedź 21 lipca 2018 przez plucins Stary wyjadacz (11,110 p.)
Zgadam się z kolegą @mbabane

Wydaje się, że JPA i Spring data to najwygodniejsze czego można doświadczyć przy komunikacji z bazą w Javie
–2 głosów
odpowiedź 21 lipca 2018 przez mbabane Szeryf (79,280 p.)
Nie znam wszystkich narzędzi ale najciekawszymi z jakim do tej pory pracowałem to JPA, hibernate i spring-data. Przypuszczam, że dopiero zaczynasz poznawać ten segment, więc najpierw pobaw się JDBC.
komentarz 21 lipca 2018 przez GulderBone Użytkownik (600 p.)
Ok, a co do samego SQL to wybór ma znaczenie? Chodzi mi o to czy ma znaczenie to czy będę używał MySQL, oraclowego SQL czy jakiegokolwiek innego?
komentarz 21 lipca 2018 przez mbabane Szeryf (79,280 p.)
Są pewne różnice np. w MySQL można zrobić pole auto_increment bardzo prosto i klarownie, a w Oracle, trzeba do tego celu stosować sekwencje lub jakieś inne mechanizmy (np. specjalna tabela). Z grubsza SQL jest jednakowy dla baz relacyjnych, ale istnieje takie pojęcie jak dialekty, które w zależności od używanego silnika (MySQL, Oracle), występują pewne różnice. Jeśli chodzi o JPA to jednym z głównych założeń tej technologii jest elastyczność względem poszczególnych baz danych tzn. ten sam kod powinien działać tak samo bez różnicy na jakiej bazie jest wykonywany (i tutaj może wyjść kwestia tych tzw. dialektów bo coś może nie działać na Oracle, a na MySQL będzie działać znakomicie).
1
komentarz 21 lipca 2018 przez Wiciorny Ekspert (269,120 p.)

Ok, a co do samego SQL to wybór ma znaczenie? 

nie ma bo możesz korzystać z JPA providera Springa i korzystać z HQL/ JPQL  itd czy MYSQL 

 To jest tylko język zapytań : więc jest zależny od Ciebie : natomiast JPA jest interfejsem mapowania obiektowo relacyjnego  hibernate -> to jest implementacja JPA..

A kolega niby coś wie, ale jednak nie do końca 

 

komentarz 21 lipca 2018 przez mbabane Szeryf (79,280 p.)

A kolega niby coś wie, ale jednak nie do końca

A co konkretnie jest nie tak? 

1
komentarz 21 lipca 2018 przez miro Pasjonat (23,870 p.)
Może to, że JPA to nie technologia tylko specyfikacja ORM. Potem możesz mieć konkretną implementację jak hibernate, który może używać różnej bazy danych.
komentarz 22 lipca 2018 przez Aisekai Nałogowiec (42,190 p.)
@Wiciorny, czy można powiedzieć, porównując to do OOP,  że Jpa jest jak interfejs (albo klasa abstrakcyjna) a Hibernate jest implementacją tejze klasy?
komentarz 22 lipca 2018 przez Wiciorny Ekspert (269,120 p.)
Tak można: chociaż JPA samo w sobie, też ma swoją implementacje-  i smiesznie bo czasem nazywamy to po prostu Java persistence.

Z kolei : JPA samo w sobie to szablon, interferjs ( zbiór praktyk - abstrakcji ) którę dostarcza Ci możliwości własnie pracy z bazą danych na bazie ORM- mapowania obiektowo relacyjnego
komentarz 22 lipca 2018 przez Wiciorny Ekspert (269,120 p.)
@miro dokładnie o to mi chodziło :). Trzeba rozumieć to o czym się piszę, a nie po prostu pisać... bo potem Junior przychodzi na rozmowe i takie smaczki  mówi, że on stosuje to i to - ale stosuje, po za tym nie ma wgl. pojęcia co jak w śodku wygląda : ale jebne tu adnotacje, tu dociągne coś MAVENEM tu odpale Spring Bootem- działa to działa
1
komentarz 22 lipca 2018 przez mbabane Szeryf (79,280 p.)

Może to, że JPA to nie technologia 

Technologia w sensie wynalazek, rozwiązanie...  Doskonale wiem, że JPA to nie jest biblioteka czy framework, tylko zbiór założeń i ograniczeń jak np. JAX-RS pod REST w Javie.

czasem nazywamy to po prostu Java persistence.

W końcu Java Persistence API.

 

bo potem Junior przychodzi na rozmowe i takie smaczki  mówi,

To po prostu wyjaśnij w czym rzecz , a nie piszesz, że coś wie a nie wie, dzięki temu przyczynisz się do tego, że takich osób będzie mniej.

komentarz 22 lipca 2018 przez Wiciorny Ekspert (269,120 p.)

W końcu Java Persistence API.

No nie właśnie, nie rozumiesz: JAVA PERSISTENCE API to jest prowider, ale implementacja ( po za znanym HIBERNATE )  jest też JAVA PERSISTANCE - czysta  bez słowa API.... czaisz baze?  

https://docs.oracle.com/javaee/6/tutorial/doc/bnbqa.html

Chodzi o to żeby odróżnić implementacje od samego nawania struktury ... w sytuacji której np dla klienta piszeszs DOC- dla twojej aplikacji, żeby był wstanie zrozumieć. 

czasem używa się po prostu  (Package  ) javax.persistence

 

2
komentarz 22 lipca 2018 przez Wiciorny Ekspert (269,120 p.)

@mbabane,   i zrozum jako już programista z kilku letnim bagarzem nie piszę tego dlatego, że " JAKI TO JA NIE JESTEM" O JEZU i w OGÓLE, ale  piszę bo sam takie błędy/ niedopowiedzenia robiłem i w robocie/ życiu na rozmowach za to mnie jakby "ciągnęli za język"  stąd po prostu komuś to przekazuje, bo sam tak robiłem i pewnie w wielu wyższych sferach dotyczących np wewnęrznych implementacji algorytmów GB-Collectora itd to wale FUCK-UPY , ale właśnie to jest częścią rozwoju nieustannego 

komentarz 22 lipca 2018 przez mbabane Szeryf (79,280 p.)
Dzięki za wyjaśnienie bo tego szczegółu akurat nie znałem.

Podobne pytania

+1 głos
0 odpowiedzi 258 wizyt
pytanie zadane 22 października 2021 w SQL, bazy danych przez p4wix Obywatel (1,040 p.)
0 głosów
1 odpowiedź 4,237 wizyt
pytanie zadane 23 września 2021 w Rozwój zawodowy, nauka, praca przez barteku12 Obywatel (1,340 p.)
0 głosów
0 odpowiedzi 303 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...