Zapytanie / hibernate / tworzenie encji do bazy

0

Witam,

Robię projekt z wykorzystaniem: Spring Framework + Spring Webflow + Spring Security + JPA (Hibernate) + JSF 2.0 (PrimeFaces) + Apache Maven 2 + Apache Tomcat + GitHub+ MySql + Eclipse ID.

Mam kilka pytań:

  1. Baza danych jest już stworzona za pomocą Workbench, pola utworzone. Jest kilka tabel zawierających klucze obce. Czy tworząc encję w projekcie powinienem uwzględnić relację pomiędzy tabelami z wykorzystaniem adnotacji ? Jeżeli tak, czy nie będzie to dublowanie ?

  2. Jeżeli odpowiedź na pierwsze pytanie brzmi "tak" - to jak to zrobić?

  3. Jak zrobić mechanizm który pozwoli na zapisywanie danych do bazy z wykorzystaniem formularza, który pozwoli na wybieranie z pośród informacji już zapisanych w bazie? (np. zapisuje rezerwację na zajęcia, i chcę dodać numer pokoju w którym będą się odbywały. W bazie danych jest już tabela z pokojami które są do dyspozycji).

  4. Projekt wykorzystuje DAO pattern - w jaki sposób skonstruować zapytania do bazy danych tak aby można było je wykorzystać w prezentacji informacji z bazy. Czy będą to po prostu serwisy ?

  5. W jaki sposób dane zaciągane z bazy mogę zwracać na ekran np. w postaci drukowanych informacji lub wykresów ?

Z góry dziękuję.

0

Bardzo proszę o odpowiedź chociaż na 1 pytanie.

0

Może najpierw przeczytaj jakiś kurs.
JPA/Hibernate

Spring:
http://www.sivalabs.in/2014/03/springmvc4-spring-data-jpa.html

Formularz w springu:
http://www.tutorialspoint.com/spring/spring_mvc_form_handling_example.htm

Na podstawie tego może będziesz coś w stanie zrobić.

0
Pawski napisał(a):

Witam,

Mam kilka pytań:

  1. Baza danych jest już stworzona za pomocą Workbench, pola utworzone. Jest kilka tabel zawierających klucze obce. Czy tworząc encję w projekcie powinienem uwzględnić relację pomiędzy tabelami z wykorzystaniem adnotacji ? Jeżeli tak, czy nie będzie to dublowanie ?
  2. Jeżeli odpowiedź na pierwsze pytanie brzmi "tak" - to jak to zrobić?

@OneToMany
@ManyToOne

Przerób chociaż najprostszy tutorial do Hibernate, bo nie jest to technologia, którą łatwo jest poznawać podczas pracy, podstawy trzeba mieć, bo zginiesz i będziesz po trzy razy przepisywał jedną klasę.

0

Dzięki za odpowiedzi. Kursy znam a koncepcję rozumiem.
@datdata
@gcmarcin

Mój dylemat jest taki: mam już gotową bazę do której się podpinam i która jest już zbudowana z poziomu workbencha. Ma ustalone relacje pomiędzy tabelami, klucze obce etc.

Czy mimo tego tworząc encję powinienem odwzorować te zależności w encjach (po przez adnotacje). Tak czy nie ?

0

Chyba nie bardzo rozumiesz koncepcje bo bys sie o to nie pytal. Ogarnij sie i wroc.

0

Pytasz o zbyt wiele rzeczy na raz. To troszkę wygląda jakbyś uderzał z motyką na Słońce. Ale powodzenia. Na początek naucz się podstaw. Po co Spring do tego JSFa? To nie jest dobra opcja na początek. Jak ktoś nie ogarnia i dopiero chce się nauczyć ułatwi sobie życie wybierając albo stos Spring albo stos JEE. Mieszanie to już zabawy dla doświadczonych, którzy wiedzą czego chcą.

Pawski napisał(a):

Czy mimo tego tworząc encję powinienem odwzorować te zależności w encjach (po przez adnotacje). Tak czy nie ?

Na to pytanie jest prosta odpowiedź. Zależności musisz odwzorować. Są dwa podejścia:
a) domain first (najpierw piszesz kod encji), a następnie generujesz bazę
b) database first: generujesz encje z istniejącej bazy
Z tego co piszesz interesuje Cię case b). Aby to zrobić możesz użyć IDE np. NetBeans. W tym celu w IDE możesz wybrać:
New File / Persistance / Entity Classes From Database. Oczywiście nie działa to idealnie i sporadycznie pewne adnotacje powinny być poprawione.

  1. W jaki sposób dane zaciągane z bazy mogę zwracać na ekran np. w postaci drukowanych informacji lub wykresów ?

Poszukujesz bibliotek do raportowania. Sam robiłem takie rzeczy eksportując do XLSX z użyciem Apache Poi. Robiłem też eksport do PDF z użyciem Flying Saucer (HTML i CSS2 konwertowany do pdf). Jeśli chodzi o wykresy server side kilka problemów w legacy systemie udało mi się ładnie zwizualizować z użyciem JFreeChart. Można też próbować podziałać z Jasper Reports (osobiście nie lubię).

Z nowoczesnych bibliotek z płatnych rozwiązań popularne jest High Charts (jak coś ma być client side).

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