Co zrobić z danymi wyciągniętymi z bazy danych

0

Cześć!

Mam do napisania aplikację (J2SE), która pobiera i wyświetla dane z bazy danych (konkretnie różne towary - książki, płyty, etc.). Oczywiście każdy produkt ma inne parametry, więc dla każdej kategorii stworzyłem osobną tabelę. Dodatkowo stworzyłem tabelę, w której przechowuję słowne opisy tych parametrów dla każdej kategorii (co wykorzystuję np. w tworzeniu nagłówków tabelki w programie) oraz ID kategorii (ID produktu w danej tabeli + ID kategorii = unikalny ID produktu (jest to sprawa drugorzędna, można zrobić unikalne ID w samych tabelach opisujących produktu...nevermind))
Największy problem dla mnie to : w jaki sposób przechodzić z poziomu bazy danych do wyświetlania produktów w tabeli w aplikacji (na początku myślałem, że będzie tylko jedna kategoria produktów - wymagania się jednak zmieniły). Mógłbym napisać kilka klas odpowiadających produktom w tabeli i opakować dane z bazy w te obiekty (myślę, że problem,o którym pisałem w 1 poście byłby pominięty, gdyż towarów nie ma być więcej niż kilka tysięcy, podobno...:) lecz chciałbym zrobić aplikację niewrażliwą na zmiany w bazie danych (tzn. gdy np. admin bazy danych doda/usunie jakieś pole w tabeli produktu lub doda nową kategorię), więc raczej powinienem uniknąć wypisywania czegoś "na sztywno" w kodzie programu. Co więc zrobić w takiej sytuacji? Czy może pakować dane z każdej kategorii do dwuwymiarowej tablicy String (lub najogólniej Object)? Takie rozwiązanie chyba jest "średnio" eleganckie....

Z góry dzięki za wszelkie rady! :)

0

ja zazwyczaj dane z resultseta opakowywalem sobie w klasy i tyle i je w tabelkach wyswietlalem, no ale jesli chcesz miec niezalezna od ilosci pol w tabeli to takie rozw. nie bardzo da rade, musialbys pobierac z resutl seta ilosc kolumn, ich naglowki i dynamicznie tworzyc odpowiedni model tabeli...znaczy jeden model, ale dynamicznie tworzace sie kolumny, tylko ze w takim kodzie latwo sie pogubic jest...poza tym, nie zaklada sie ze baza ulegnie zmianie, bylo by to wg mnie bez sensu, a jesli ktos zmieni cala baze to co...?

0
gosc napisał(a)

poza tym, nie zaklada sie ze baza ulegnie zmianie, bylo by to wg mnie bez sensu, a jesli ktos zmieni cala baze to co...?

Hmm...Dlaczego się nie zakłada? Chyba niezawsze użytkownik oprogramowania i admin bazy to ta sama osoba...

0

administrator bazy danych nie tworzy/zmienia jej nie taka jest jego rola...jeśli bazę trzeba po drodze zmieniać, to znaczy że była ona zaprojektowana w sposób nieprzemyślany. Rozważ sytuację: jest w miarę spory system o dostępie webowym w technologii JEE, dość duża baza , do mapowania użyte JPA przypuśćmy 100 encji, system działający. i nagle ktoś wpada na genialny pomysł, ze w 50 tabelkach trzeba dorobić nowe pola i kilak nowych powiązań...i budzimy sie z ręką w nocniku. Zmiana bazy==zmiana programu, przed tym nie ma ucieczki. Aplikację tworzy się pod zaprojektowaną bazę po prostu...ale to jest moje zdanie, oparte na systemach z którymi miałem do czynienia, może się mylę...

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