Java DAO , 3 tabele, postgresql

0

Witam.
Mam bazę danych w której są 3 tabele Student(Imię, nazwisko ,numer dowodu) , Uczelnia(nazwa miasta,numer telefonu) i Data(data rozpoczęcia studiow, data zakończenia studiow).

Relacje to jeden do wielu od uczelni do ucznia i jeden do wieku od daty do ucznia.

  1. Czy taki schemat ma sens?
  2. Chce użyć do tego JPA i Hibernate’a użyje również DAO jednak zastanawiam się nad klasa która będzie odpowiedzialna za połączenia z baza danych, czy to ma być oddzielny komponent? Czy mozne to być w dao?
  3. Wyszukiwanie z bazdy danych na podstawie tych 3 tabel będzie realizowane przez łączenie? Po prostu nie wiem jak przetrzymywać te dane czy w dao ma być jedna klasa opisująca wszystkie te obiekty czy kilka klas odpowiadających encjom uczelnia,student, data?

Czytałem i widziałem przykłady jednak nie do końca odpowiadają one mojemu problemowi,czuję że błądzę dlatego bardzo proszę o pomoc.

0
  1. Tak szczerze mówiąc nie widzę co chcesz zrobić z tym i dopóki się nie dowiemy tego i nie zobaczymy konkretnego schematu nie jesteśmy w stanie odpowiedzieć Ci na 1 pytanie..
  2. O ile dobrze widzę a chyba dobrze widzę połączenie do bazy odbywa się za pomocą connectora. przykład więc dla postgresa masz analogicznie.
  3. Dlatego idealnym pomysłem jest dodanie do każdej tabeli konkretnego id i podczas łączenia uzupełnianie tabel o id z drugiej tabeli.

Znasz w ogóle jakieś podstawy tworzenia bazy danych od strony biznesowej?
Może się zarejestruj, będzie Ci łatwiej z nami gadać ;)

0

Dzięki za pomoc, zrobiłem wszystko według tego poradnika i połączyłem się z bazą, z kompilacją jest wszystko ok, jednak, gdy uruchamiam program mam komunikaty tego typu, mógłby mnie ktoś nakierować jak rozwiązać problem?

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at org.hibernate.boot.spi.XmlMappingBinderAccess.<init>(XmlMappingBinderAccess.java:43)
at org.hibernate.boot.MetadataSources.<init>(MetadataSources.java:87)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:123)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:118)
at pl.eiti.lostandfound.hibernate.dao.BookDao.getSessionFactory(BookDao.java:42)
at pl.eiti.lostandfound.hibernate.dao.BookDao.openCurrentSessionwithTransaction(BookDao.java:27)
at pl.eiti.lostandfound.hibernate.service.BookService.persist(BookService.java:18)
at App.main(App.java:14)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
at java.base/jdk.internal.loader[...](BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader[...]dClass(ClassLoaders.java:185)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
... 8 more

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