Использование аннотации @Any в устаревшей базе данных, где некоторые значения дискриминатора не ссылаются на сущности - PullRequest
1 голос
/ 04 января 2012

У меня есть устаревшая база данных с таблицей, содержащей 2 столбца, назовите их «TYPE» и «ID», которые будут ссылаться на другие объекты.Проблема заключается в том, что только подмножество значений TYPE будет ссылаться на другие объекты.Например:

  • TYPE = 0 - «нет» - нет сущности
  • TYPE = 2 - «калькулятор» - идентификатор - это идентификатор сущности калькулятора
  • TYPE = 5 - «стоимость выплаты» - нет сущности
  • TYPE = 6 - «серия» - идентификатор - это идентификатор сущности серии

Я видел, что @Anyи @AnyMetaDef можно использовать для сопоставления столбца «TYPE» и «ID» с полиморфной сущностью, но как насчет значений «TYPE», которые не сопоставляются с сущностями?

Есть ли лучший способ длячтобы справиться с этой ситуацией?

  • Я задавался вопросом, можно ли безопасно использовать targetEntity из Void.class для значений 0 и 5, если бы в этих случаях в hibernate возвращалось значение null.Это не позволяет мне различать случаи None и PayValue.Можно ли заставить hibernate возвращать одноэлементный объект типа None и PayValue, чтобы можно было выполнить тест instanceof, или можно просто читать столбец TYPE как обычное постоянное поле?

Спасибо.

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