Používam režim dlhodobého spánku 3.0. Pri používaní spojenej podtriedy čelím problému.
Tu je malý príklad
Mám super triedu zvierat a mám 2 podtriedy Pes a mačka. Žartujem do podtriedy pre definovanie tohto vzťahu.
keď áno
Query query=session.createQuery("from Animal");
vyvoláva objekty zvierat, psov a mačiek.
Toto vytvára problémy, pretože čas načítania je viac.
Akékoľvek riešenie pre to isté.
odpovede:
0 pre odpoveď č. 1Predpokladám, že chcete iba prípady zvierat, nie ich podtriedy?
Je to trochu zložitejšie robiť v JPA, pretože mačky sú tiež zvieratá, a preto sa vracajú.
Musíte ich vylúčiť ručne z dotazu, napríklad:
from Animal a
where a.id not in (select c.id from Cat c)
and a.id not in (select d.id from Dog d)
(Ako máte tento problém, možno polymorfizmus nie je v tomto prípade dokonalým riešením.)
0 pre odpoveď č. 2
Implicitné polymorfizmus pre túto triedu môžete vypnúť nastavením polymorphism="explicit"
pri mapovaní xml alebo použite anotáciu hibernácie @Entity(polymorphism=PolymorphismType.EXPLICIT)