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

SPRING DATA i JPA

Konkurs Mistrz Programowania
0 głosów
550 wizyt
pytanie zadane 19 maja 2017 w Java przez K0XM4N Gaduła (3,640 p.)

Cześć,

Własnie tworze sobie prostą apke w spring boocie. Mam takie pytanie odnośnie konfiguracji bazy danych.

W pliku application.properties konfiguruje sobie datasource( url, username, pass etc.) i tutaj mam pewną rozkmine.


spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=(tutaj mogę przypisać create, create-drop, update, validate, none)

1. Dlaczego hibernate tworzy za mnie tabele w bazie danych, nawet jeśli mam już je stworzone w bazie?
2. Jakie są zastosowania powyższych parametrów? Jakaś dokładna dokumentacja na ten temat?
3. Załóżmy, że mam już stworzony model bazy i encje. Odpalam projekt z parametrem none. Przychodzi moment kiedy muszę zmienić jakieś pole z poziomu encji. Jak teraz zrobić update tabeli z poziomu projektu? Próbowałem użyć opcji update, ale to nie działa tak jak mi się wydawało. Musiuałbym użyć create, który poprzednie dane skasuje i stworzy na nowo cały model bazy wraz z nowym polem.

Jakieś sugestie? Będę wdzięczny za odpowiedź :)

 

 

1
komentarz 21 maja 2017 przez Mateusz51 Nałogowiec (28,180 p.)
komentarz 24 maja 2017 przez K0XM4N Gaduła (3,640 p.)
Dzięki, znalazłem to czego szukałem :)

1 odpowiedź

0 głosów
odpowiedź 19 maja 2017 przez ShiroUmizake Nałogowiec (46,300 p.)

I dlatego piew się powinno uczyć o JPA i pochodnych produktach JAVAEE a nie odrazu za Springa...

Dlaczego hibernate tworzy za mnie tabele w bazie danych, nawet jeśli mam już je stworzone w bazie? 

Bo hibernate jest taką fajną biblioteczką(serwerem zależności od spojrzenia), za którą pomocą można napisać cały system bazodanowy nie tworząc żadnego zapytania SQL, a technicznej bez wywołowania (jawnego) ConnectStament. Po prostu piszę w nim jak javie (stosując oczywiście adnotacje), przez co łatwy sposób możemy utworzyć update,get itd...I tabelę również tworzy (jeżeli nie wywołowamy adnotacji sprawdzającej czy tabela istnieje. bądż użyamy lotnych baz danych opartych na RAM np:HSQL) 

2. Jakie są zastosowania powyższych parametrów? Jakaś dokładna dokumentacja na ten temat? 

Po prostu mówisz, mu co ma zrobić. Spring ci trochę ułatwia roboty i sam stworzy instancje.

3. Załóżmy, że mam już stworzony model bazy i encje. Odpalam projekt z parametrem none. Przychodzi moment kiedy muszę zmienić jakieś pole z poziomu encji. Jak teraz zrobić update tabeli z poziomu projektu? Próbowałem użyć opcji update, ale to nie działa tak jak mi się wydawało. Musiuałbym użyć create, który poprzednie dane skasuje i stworzy na nowo cały model bazy wraz z nowym polem. 

np: RESTFull

Podobne pytania

+1 głos
1 odpowiedź 730 wizyt
pytanie zadane 7 listopada 2022 w Java przez Lulex Użytkownik (820 p.)
0 głosów
1 odpowiedź 559 wizyt
pytanie zadane 4 maja 2020 w Java przez scrxts Nowicjusz (150 p.)
0 głosów
0 odpowiedzi 189 wizyt
pytanie zadane 21 lipca 2017 w Java przez lewy Obywatel (1,260 p.)

93,653 zapytań

142,574 odpowiedzi

323,089 komentarzy

63,169 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

Kursy INF.02 i INF.03
...