Как получить классифицированные объекты с помощью jpa (hibernate)? - PullRequest
0 голосов
/ 05 августа 2011

здесь есть 3 класса:

abstract class AbstractClass{@Column("type") public int type;......}
class A extends AbstractClass{......}
class B extends AbstractClass{......}

в базе данных, когда type = 1 означает A, а type = 2 означает B. Итак, как я могу получить эти объекты как AbstractClass, а конкретный класс - Aкогда type = 1 и B когда type = 2?

Большое спасибо.

Ответы [ 2 ]

1 голос
/ 05 августа 2011

Это зависит от вашей структуры базы данных.Если вы используете одну таблицу для всей иерархии классов, ознакомьтесь с документацией Hibernates по таблице для иерархии классов .Если вы используете одну таблицу для хранения общих полей в AbstractClass и таблицу для каждого подкласса, вы можете взглянуть на документацию по Смешивание таблицы по иерархии классов с таблицей по подклассу .В обоих случаях все сводится к определению дескриптора (в вашем случае столбец типа).

0 голосов
/ 05 августа 2011

Необходимо использовать отображение наследования «одна таблица на иерархию классов», описанное здесь .Явное отображение столбца дискриминатора возможно, но не обязательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...