Hibernate dynamicznie

0

Witam

Szukałem na google jakichś informacji lecz nie znalazłem. Proszę o pomoc.

Czy można stworzyć dynamicznie obiekty odwzorowujące Hibernate nie znając struktury bazy danych (czyli ustanowić połączenie z bazą, a następnie pobrać strukturę bazy oraz stworzyć obiekty odwzorowujące), chodzi mi o wykorzystanie Hibernate w trakcie runtime aplikacji. Czy jest jakiś framework, który może do tego służyć (może być również C#)?

1

hibernate tools potrafią ze struktury bazy danych utworzyć klasy. Następnie trzeba je skompilować (potrzebny jest javac w runtime) i dynamicznie załadować.

0

Dzięki za szybką odpowiedź. Będę ogarniał temat.

0

Tak samo w netbeans masz "Create entity class from database".

0
Koziołek napisał(a)

hibernate tools potrafią ze struktury bazy danych utworzyć klasy. Następnie trzeba je skompilować (potrzebny jest javac w runtime) i dynamicznie załadować.

Już przeanalizowałem ht. I nie do końca to narzędzie będzie pomocne(może źle sformułowałem problem). Moja aplikacja ma się łączyć z dowolną bazą i pobierać jej strukturę. Dla tabeli: TABLE customer (First_Name char(50), Last_Name char(50), Address char(50), City char(50), Country char(25), Birth_Date date) , aplikacja ma pobrać strukturę bazy (nie ważne czy to MSSQL, oracle. db2 ...) i zapakować to do obiektów w mojej aplikacji (obiektów np. jakiegoś narzędzia typu Hibernate, lecz lepszym rozwiązaniem byłoby korzystać z obiektów, których programista nie musi tworzyć).

0

Hm... nie do końca zatem się dogadaliśy. Czy te obiekty mają mapować strukturę bazy danych tzn. jeżeli masz tabele Customer to tworzysz dynamicznie klasę Customer? Czy też chcesz pracować na obiektach reprezentujących strukturę bazy danych, ale bez tworzenia nowych klas? w drugim wypadku tabela Customer będzie reprezentowana przez obiekt klasy Table z którego będzie można wybierać dane za pomocą nazw?

0
Koziołek napisał(a)

... Czy te obiekty mają mapować strukturę bazy danych tzn. jeżeli masz tabele Customer to tworzysz dynamicznie klasę Customer? Czy też chcesz pracować na obiektach reprezentujących strukturę bazy danych, ale bez tworzenia nowych klas? w drugim wypadku tabela Customer będzie reprezentowana przez obiekt klasy Table z którego będzie można wybierać dane za pomocą nazw?

Druga opcja jest dla mnie lepsza, łatwiej byłoby mi modyfikować obiekt Tabela na własne potrzeby. A czy jest do tego jakaś biblioteka etc (nie musi to być Java)?

1

W takim wypadku użyj DBUnit. Jest to co prawda framework do testów integracyjnych, ale jego mechanizmy pozwalają na pracę i "rozpoznanie walką" struktury bazy danych.

0

Wielkie dzięki, sprawdzę tą bibliotekę.

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