Стратегии отображения наследования Hibernate следует выбирать на основе структуры базы данных.
Если вы не можете изменить дизайн базы данных, то придерживайтесь лучшей стратегии для текущего дизайна БД. Т.е. таблица по стратегии подкласса.
Если вы можете изменить дизайн базы данных, то сначала забудьте о Hibernate, сосредоточившись на том, какой дизайн таблицы БД лучше для вашего приложения.
Некоторые факторы, которые следует учитывать,
а) Как данные будут получены / использованы?
Скажем, если большую часть времени логика не касается разграничения CONCRETEONE и CONCRETETWO, то нет смысла переходить на подстолы.
б) Сколько дополнительных столбцов требуется для CONCRETEONE и CONCRETETWO?
Если у вас так много столбцов, специфичных для вложенных таблиц, то «Таблица для иерархии классов» не очень хорошая идея.
c) Столбцы, относящиеся к подстолям, не должны быть "NOT-NULL".
Надеюсь, это поможет.