Wątek przeniesiony 2018-10-19 22:30 z Newbie przez furious programming.

Prywatna, zagnieżdżona klasa a JPA

0

Taka sytuacja:

mam klasę Order czyli zamówienie oraz Financial czyli sprawy finansowe tego zamówienia. Klasa Order przechowuje ógólne dane o zamówieniu i wskazuje na szczegółowe klasy np. Employee, Product itd. A klasa Financial estymuje cenę, szacuje zysk, koszty, a po zakończonym zamówieniu rzeczywisty zysk, koszty itd. Jednocześnie klasa Order i Financial robią co innego i przechowują inne dane dlatego uważam, że trzeba je wydzielić do osobnych klas.

Te sprawy finansowe dotyczą tylko tego zamówienia i nie potrzebują żadnych danych z innych klas. Kto nie ma dostępu do Order tymbardziej nie powinien widziećFinancial. Klasy Financial użytkownik nie może zmieniać, ona zmienia się wyliczając wszystko sama na podstawie wartości z Order.

Wobec tego wydaje mi się, że wypadałoby umieścić Financial jako zagnieżdżoną klasę prywatną w Order. Czy takie rozwiązanie jest OK, wg nowoczesnej filozofii?
Jakieś zagrożenia ze strony JPA, bo chcę by klasy były 2 encjami bazie.

1

Nie zadziała.

  1. To już nie jest pytanie z podstaw. Wrzucaj takie w dział java.
  2. Dobrze/ciekawie kombinujesz z punktu widzenia designu.
  3. Niestety jpa wprowadza istotne ograniczenia, na to co może być Entity.
    https://docs.jboss.org/hibernate/orm/5.0/mappingGuide/en-US/html/ch02.html
    I tam stoi: The entity class must be a top-level class. To sie raczej ostatnio nie zmieniło.

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