Wczytanie schematu bazy danych do Spring/Hibernate

0

Witajcie
Chciałbym zasięgnąć opinii bardziej doświadczonych programistów nt w/w problem:

Szczegółowy opis problemu:
Chciałbym mając dane do bazy (url,root,password)
Wygenerować jej schemat: tabelki,relacje; ( i wyświetlić to w jsp z opcjami edycji np danych na tabelce)
Chciałbym to zrobić w springu/Hibernate (Dodam że dopiero mam jakieś pół roku doświadczenia z tymi technologami - czyli generalnie ciągle się uczę) Dodam iż nie liczę na gotowe rozwiązanie bo problem jest złożony ale na nakierowanie i ewentualnie na podpowiedzi w którą stronę iść żeby nie dojść do ślepego zaułka. Ciąglę wertuje dokumentacje i różne fora ale na razie nic konkretnego nie znalazłem dlatego decyduje się na ten krok pisząc ten post :)
Pozdrawiam

0

Jeśli chcesz wygenerować schemat bazy na podstawie encji, to musisz w Hibernate ustawić odpowiednią właściwość: hibernate.hbm2ddl.auto na create.

EDIT:
Generalnie raczej nie używałbym takiego podejścia. Bezpieczniej jest używać gołych skryptów. Spróbuj na przykład użyć FlyWay lub LiqiudBase. Doświadczenie mam z tym pierwszym, jest łatwo konfigurowalny ze springiem(wystarczy utworzyć beana flyway, oraz dodać beanowi entityManagerFactory adnotację np. @DependsOn("flyway")). Migracje możesz pisać w SQL lub w javie.

0

Ok. Tzn nie wiem czy dobrze to wytłumaczyłem. Chodzi mi o to że na przykład mam jakąś bazę w MySql Wrzucam jej dane url,roota,passs do mojej apki(formularzem np POSTEM) i apka (łącząc się do bazy danymi ) wczyta użytkownikowi schemat tej bazy oraz wyświetli jej (tabelki itp):) Nie zależy mi na generowaniu schematu z encji bo nie w tym cel. Wiem że można tak zrobić przez jdbc (wczytywać tabelki,rekordy itd) ale tam są masy kodu a być może jest jakieś bardziej proste podejście do sprawy

0

masy kodu xd? jak masz napisane encje to jedna linijka jest którą wrzucił @NoZi

0

tzn. Ty chcesz mieć encje na podstawie bazy y?

0

hmm żadnych pomysłów jakby to można było zrealizować :D?

0

Pooglądaj sobie SchemaSpy - jest w Javie i na licencji LGPL, więc części jego kodu można użyć. Poza tym chyba próby użycia Hibernate nie mają w takim przypadku sensu.

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