Új hozzászólás Aktív témák

  • bucsupeti

    senior tag

    válasz gygabor88 #3171 üzenetére

    Köszönöm az eddigi válaszokat. Közben megoldódott a dolog egy session.clear() oldotta meg a problémát a tranzakció lezárása után.

    "Ez anti-pattern. Mivel desktop approl van szo, gondolom csak egy user hasznalja egyszerre. Boven eleg akkor nyitni uj sessiont, ha az elozo inkonzisztens allapotba kerul."

    Az igaz hogy desktop app, de ez miért is vonja maga után hogy "csak egy user használja egyszerre"?
    Desktop app, de központi adatbázissal dolgozik. Az alkalmazás pedig a felhasználók gépein található meg.

    Egyébként nagy baj az ha egyetlen session-t használok a futás alatt?

    Az architektúra úgynéz ki, hogy vannak a perzisztens osztályok, ez mellett van egy üzleti logikát megvalósító osztály (UzletiLogika) és van a kliens, ami bármi lehet, jelenleg egy desktop swing GUI.
    Az UzletiLogika osztálynak egyetlen statikus adattagja van, ami nem más mint egy Session. Ezen dolgozik az összes metódus. A metódusok a kliens(ek)nek szolgáltatnak adatokat, amik különféle egyszerű és összetett adatszerkezeteket adnak át. A perzisztens osztályok adattagjait alakítják át listákká, vektorokká stb...
    Paraméterül azonosítókat kapnak és soha nem adnak vissza perzisztált objektumot.
    Így az UzletiLogika osztályban dolgozik csak a Hibernate. A GUI csak meghívja az ottani metódusokat és valamilyen nem perzisztens adatot kap, amit megjelenít.

    Most már működik a program.

    A kérdésem az hogy a felvázolt architektúra szerintetek rendben van? Illetve jó megoldás-e az egyetlen session használata?

    "Nem gond ha nem vágod a párologtatók bináris nyelvét..."

Új hozzászólás Aktív témák