Pracuje obecnie nad portalem dla Pizzerii. Piszę go w Javie, na chwilę obecną walczę nad utworzeniem struktury w bazie danych. Idea jest taka, że posiadam klasę Order, w której znajdują się pola dotyczące ceny całego zamówienia, uzytkownika zamawiajacego, date zamowienia a także listę z zamawianymi rzeczami. Idea jest taka, że użytkownik może zamówić pizze, dodatki do pizzy, sos, w przyszłosci może i napój, jakieś kebaby itp.
Listę mam zdefiniowaną w następujący sposób:
private List<Priceable> orderList;
Priceable to interfejs opisujący obiekty, które mają cenę, i posiada metodę getPrice(). Każdy obiekt który będzie można zamówić implementuje ten interfejs.
I teraz moje pytanie.
Jak to umieścić w bazie danych? Obiekty implementujące interfejs Priceable mogą być do siebie podobne, jednak różnią się od siebie. Dla przykładu Obiekt Pizza implementujący Priceable posiada pola dotyczące rodzaju ciasta (grube, cienkie), liste dodatków itp, natomiast Obiekt typu Sauce(sos) również implementujący Priceable, ma inną strukturę.
Myślę, że musiałaby to być tablica asocjacyjna, jednak jak to okodzić, żeby tak właśnie działało?
DODATKOWE INFORMACJE:
Wszystkie obiekty będę miał w bazie mysql, wszystkie zamówienia (Order) również w niej będą umieszczane. Do opisu obiektów używam adnotacji, a nie xml.