[JEE] Model danych

0

Witam,

W jaki sposób przygotować model danych (w postaci klas Javy) dla projektu pisanego w JEE?
Chodzi mi ogólnie jak ma wyglądać taki model (przykładowa klasa, metody, pola składowe), jeśli projektem jest np sklep z książkami (aplikacja webowa).

Dzięki za jakieś podpowiedzi

0

Sklep jest dość dużą strukturą, ale się da:

@Entity
public class Sklep{

   @Id
   private long id;
   private Set<Sprzedawca> sprzedawcy;
   private List<Towar> towary;
   // reszta pól
   // gettery, settery

}

W praktyce jednak wystarczy, że "na chłopski rozum" opiszesz co znajduje się w sklepie. Adnotacja @Entity pochodzi z JPA i umożliwia zapis obiektu do bazy danych. Jeżeli tworzysz klasy modelu to zazwyczaj poza polami, getterami/setterami i bezparametrowym konstruktorem to nie dodaje sie nic więcej. Czasami zachodzi potrzeba specyficznego porównywania czy sortowania obiektów to piszesz własne equals, hashCode i implementację Comparable.

0

Dzięki za odpowiedź!

Przedstawiłeś model danych sklepu w formie jednej klasy, która jest wyposażona w pola składowe i metody. Czy to jedyne prawidłowe podejście? :)

W poleceniu mojego zadania jest napisane, aby model danych przedstawić w postaci klas, między którymi muszą zachodzić relacje (jeden do wielu, wiele do wielu).

Podszedłem do tego w ten sposób, że rozpisałem sobie na kartce potencjalne encje bazy danych wraz z zależnościami między nimi.
Jeśli stworze na ich podstawie klasy to będzie (w miarę) prawidłowe rozwiązanie problemu?

A jak stworzyć relacje między klasami? Przy pomocy metod?

0

No gdzie jednej? Sklep, Sprzedawca, Towar, zapewne jeszcze kilka innych klas. Każda z nich to encja w bazie danych. Klasa Sklep tylko skupia sprzedawców i towary.

0

a faktycznie, palnąłem głupotę ;)

OK, a co z tymi relacjami między klasami?

0

Jeżeli użyjesz Hibernate to na podstawie kodu klas samodzielnie wygeneruje ci bazę danych. O więcej nie musisz się martwić.

0

Jednak mam problem ze stworzeniem odpowiednich klas, a raczej relacji między nimi...

Załóżmy, że w bazie potrzebuję klas autor, gatunek i książka.
Tabele: Autor(ID, Nazwisko), Gatunek(ID, Nazwa) i Ksiazka(ID, ID_Autor, ID_Gatunek, Tytul)

Jak powinny wyglądać klasy, a dokładnie relacje między nimi? W klasach Autor i Gatunek zachodzą relacje jeden do wielu, natomiast w klasie Ksiazka powinna się znajdować adnotacja wiele do jednego dla kolekcji zawierających obiekty autor i gatunek?

0

Rzuć okiem na to:
http://www.java2s.com/Code/Java/JPA/ManyToManyJoinedTable.htm

Łączenie za pomocą dodatkowej tabeli.

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