Gdzie łączyć dane z tablic.

0

Witam.

Jestem na etapie pisania swojego pierwszego projektu Web w Javie EE i nie wiem gdzie najlepiej łączyć dane z różnych tabel. Najlepiej będzie mi wytłumaczyć mi to na przykładzie.

Mamy 3 tablice :

Użytkownicy: pola id(int),login(String), rola_uzytkownika(int), zawdod(int)
Role_uzytkownikow : id(int), Nazwa(String)
Zadowy : id(int), Nazwa(String)

Dla każdej z tablic stworzyłem klasy bean takie same jak tablice, klasy DAO oraz sevelety które przesyłają dane do widoków w jsp. Gdy np chcę wyświetlić listę użytkowników w taki sposób aby zamiast "id" roli użytkownika i "id" zawodu pokazały się ich nazwy (np Jan, admin, informatyk) nie wiem czy najlepiej dane te łączyć w klasie dao, servelecie czy już na stronie jsp. Obecnie aplikację mam tak napisaną, że tabele łącze dopiero na stronie jsp ale nie wiem czy jest to prawidłowe.

Proszę o podpowiedź jak Wy to robicie.

Pozdrawiam Łukasz

0

Nie jest to prawidłowe od 15 lat. Wtedy też prawidłowe przestało być stosowanie gołych servletów i JSP. Dzisiaj mamy połowę roku 2014 i takie rzeczy jak Java Persistence API czy Java Server Faces (jeśli bardzo chcesz pozostać przy stosie JEE).
Przy okazji: tablica i tabela to NIE SĄ synonimy. W bazie danych masz tabele a nie tablice.

0

Dzięki za odpowiedź. W przyszłości na pewno spróbuję Java Server Faces.

Obecnie mam problem z wyświetleniem listy użytkowników w JSP. Bez problemu jestem w stanie wyświetlić listę w postaci
uzytkownik.imie , uzytkownik.nazwisko, uzytkownik.id_roli, uzytkownik.id_specjalizacji. Jeżeli chcę wyświetlić nazwę roli i specjalizacji zamiast ich "id" to muszę porównywać wszystkie rekordy z tablic role i specjalizacje, aż znajdę te pasujące. Może ktoś zna inny sposób. Poniżej kawałek kodu.

<c:forEach var="uzytkownicy" items="${lista_uzytkownikow}">
<tr>
<td>${uzytkownicy.imie }</td>
<td>${uzytkownicy.nazwisko }</td>
<c:forEach var="role" items="${listr}">
<c:if test="${uzytkownicy.id == role.id}">
<td>${role.nazwa}</td>
</c:if>
</tr>
</c:forEach>

Pozdrawiam.

0

Nie rozumiem czemu przemilczałeś to co napisałem o JPA. Czemu nie chcesz go użyć? Będziesz miał wtedy ładne klasy a JPA będzie samo ci składało właściwości obiektów. Boję się pytać co robisz jak masz powiązane n:m...

0

Popatrzyłem na kilka przykładów JPA i wydaje mi się, że przy niedużym nakładzie pracy uda mi się pozmieniać to co napisałem do tej pory.

Dziękuję i pozdrawiam.

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