Przetrzymywanie danych.

0

Witam
Jestem początkującym programistą Javy i nie bardzo wiem jaki model przechowywania danych zastosować.

Moja aplikacja ma przechowywać oferty, które należą do klientów (mam więc dane klientów i oferty).

Ja, jako administrator mogę przeglądać wszystkie oferty, lub oferty danego klienta.

Zastanawiam się, czy zastosować jedną z implementacji kolekcji, czy może skorzystać z bazy danych (mysql?).

Prosiłbym o odpowiedź na 2 przypadki - ma to być aplikacja stricte desktopowa (czyli wszystko w jednym miejscu) lub rozproszona (wtedy wydaje się że baza danych byłaby wskazana).

Dziękuję z góry za pomoc

Michal Borek napisał(a)

Witam
Jestem początkującym programistą Javy i nie bardzo wiem jaki model przechowywania danych zastosować.

Moja aplikacja ma przechowywać oferty, które należą do klientów (mam więc dane klientów i oferty).

Ja, jako administrator mogę przeglądać wszystkie oferty, lub oferty danego klienta.

Zastanawiam się, czy zastosować jedną z implementacji kolekcji, czy może skorzystać z bazy danych (mysql?).

Prosiłbym o odpowiedź na 2 przypadki - ma to być aplikacja stricte desktopowa (czyli wszystko w jednym miejscu) lub rozproszona (wtedy wydaje się że baza danych byłaby wskazana).

Dziękuję z góry za pomoc

P.S. Musi istnieć możliwość łatwego wyszukiwania oferty (oferta musi mieć ID), a także sortowania po dowolnym polu.

0

Michale, nie jest to twój pierwszy temat, ale chyba w poprzednim też chciałeś coś edytować. Proszę zarejestruj się w serwisie. Ułatwi to mi jako moderatorowi i Tobie jako użytkownikowi życie.

Co do pytania przyjąłbym podejście:

class Klient{
   // tu dane klienta
   Set<Zamowienie> zamowienia = new HashSet<Zamowienie>();
}

//....

class Zamowienie{
    // dane zamówienia

   Klient klient;
}

Baza danych jest wskazana w każdym przypadku ponieważ jest to najprostszy sposób na bezpieczne składowanie danych. Warto też, abyś przeczytał jakiś tutorial poświęcony JPA lub Hibernate. Obie te technologie zapewniają elegancki dostęp do danych (pośredniczą w komunikacji z bazą) w bardzo Javowym stylu.

0

Hej
Już jestem zarejestrowany. Sorry za mały bałagan.

Chodzi mi o to, że korzystanie z bazy danych przy aplikacji desktopowej (offline) wiąże się z instalacją dodatkowej bazy danych. I dlatego wolałbym korzystać z rozwiązania, które może być w jak najprostszy sposób dostarczany wraz z aplikacją (pomijam tutaj doinstalowywanie bazy mysql).

0

A tu cię zaskoczę. Niekoniecznie trzeba instalować DB. Od Javy 6 mamy dostęp do wbudowanej w JVM bazy opartej o Apache Derby. Jeżeli jednak chcesz użyć starszej Javy 5 (zakładam, że archeologi doświadczalnej pt. "Java 1.4.2" nie uprawiasz) możesz użyć HSQLDB, który to silnik nie wymaga żadnej instalacji. Rozprowadzany jest w postaci pojedynczego archiwum jar wraz z odpowiednią implementacją drivera.

0
Koziołek napisał(a)

A tu cię zaskoczę. Niekoniecznie trzeba instalować DB. Od Javy 6 mamy dostęp do wbudowanej w JVM bazy opartej o Apache Derby. Jeżeli jednak chcesz użyć starszej Javy 5 (zakładam, że archeologi doświadczalnej pt. "Java 1.4.2" nie uprawiasz) możesz użyć HSQLDB, który to silnik nie wymaga żadnej instalacji. Rozprowadzany jest w postaci pojedynczego archiwum jar wraz z odpowiednią implementacją drivera.

a mozesz ze dwa zdania napisac o tym jak dziala ten Apache Derby w JVM... o ile uzywales

Pozdrawiam!

0

Dzięki wielkie, JavaDB zapowiada się całkiem fajnie :) Ciekaw jestem na ile wydajna będzie :)

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