Hibernate cache level 2

0

Witam,

Opowiem na przykładzie jakie pytanie mnie nurtuje:
Mam tabele Subscription która posiada odwołanie OneToMany do SubscriptionConfiguration.

Struktura tabeli Subscription (Klasa jest oznaczona @Cacheable):

@Id
int id;
String userName;
@OneToMany
List<SubscriptionConfiguration> subConfs;

Pytanie 1. jeśli będę do niej sięgał po Subscription po polu userName to czy w tym momencie zadziała także cache 2 kiedy drugi raz sięgne po subskrypcje tego samego użytkownika czy tylko działa on dla pól oznaczonych jako identyfikator?

Pytanie 2.
Jeśli ktoś/coś z zewnątrz zmieni lub doda coś w tabeli Subscription lub SubscriptionConfiguration to czy w takim wypadku hibernate przeładuje cache dla zmienionych rekordów czy będzie ciągle sięgał po "stare"?

0

ad 1. Trochę nie rozumiem mechanizmu. Jeżeli pierwszy raz zrobisz zapytanie po userName i potem po id to cache L2 będzie użyty. Oczywiście z dokładnością do konfiguracji cache.
ad 2. Nie. Nic nie zostanie odświeżone, bo niby jak cache ma się o tym dowiedzieć :)

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