1. Стратегия Single Table: HQL: from CatalogItem SQL: select * from CATALOG_ITEM where ITEM_TYPE='BOOK' HQL: from MovieItem SQL: select * from CATALOG_ITEM where ITEM_TYPE='MOVIE' 2. Статегия table per class HQL: from CatalogItem SQL: select c.ITEM_ID, c.NAME, m.ITEM_ID, m.GENRE, b.ITEM_ID, b.ISBN from CATALOG_ITEM c left outer join MOVIE_ITEM m on (c.ITEM_ID = m.ITEM_ID) left outer join BOOK_ITEM b on (c.ITEM_ID = b.ITEM_ID) HQL: from MovieItem SQL: select * from CATALOG_ITEM c inner join MOVIE_ITEM m on (c.ITEM_ID = m.ITEM_ID) 3. Стратегия table per concrete class HQL: from CatalogItem SQL: select ITEM_ID, NAME, GENRE, NULL ISBN, 'MOVIE' ITEM_TYPE from MOVIE_ITEM union all select ITEM_ID, NAME, NULL GENRE, ISBN, 'BOOK' ITEM_TYPE from BOOK_ITEM HQL: from MovieItem SQL: select * from MOVIE_ITEM