Nieoczekiwany wynik działania getSimpleName() - "krzaki" po nazwie klasy

Nieoczekiwany wynik działania getSimpleName() - "krzaki" po nazwie klasy
Potat0x
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 372
0

Mam klasę Document. W niej jest zmapowana kolekcja Set<DocumentItem> docItems. Z kolei w klasie DocumentItem mam obiekt typu Item.
getClass().getSimpleName() na obiekcie Item z tej hierarchii (poza tym w reszcie w aplikacji działa dobrze) zwraca "Item_$$_jvstfe2_0".
Jak powstają obiekty: odczytuję całą tabelę dokumentów do listy. Resztą zajmuje się Hibernate.
Item to zwykła klasa. Potrzebuję nazwy klasy do wykonania zapytania do bazy - jest to nazwa tabeli.

RO
  • Rejestracja: dni
  • Ostatnio: dni
1

Pewnie Hibernate zrobił proxy dla tej klasy, możesz to sprawdzić w ten sposób:

Kopiuj
entity instanceof HibernateProxy

aby pobrać typ skorzystaj z tej metody:

Kopiuj
Hibernate.getClass(obj)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.