2015-08-24 4 views
0

У меня есть гибернации картографическое приложение иерархию классов в одной таблице с использованием дискриминатора стратегии. В v1.0 это выглядит следующим образом:Фильтрация неизвестных disciminators с Hibernate, для обеспечения обратной совместимости

  • AbstractType
    • SubType1 (v1.0) DISCR = subtype1

Затем я загрузить новую версию v2.0 моего приложения, которое обрабатывает новый подтип SubType2 , С новым дискриминатора:

  • AbstractType
    • SubType1 (V1.0) DISCR = subtype1
    • SubType2 (версия 2.0) DISCR = subtype2

После того, как были записаны новые данные, я хотел бы по-прежнему иметь возможность резерв мой код до v1.0, в случае проблем.

Для этой цели мне нужно v1.0, чтобы отфильтровать/игнорировать строки таблицы с дискриминатором subtype2.

Как я могу добиться того, что в общем виде, либо с JPA API или Hibernate реализации? Могу ли я «подключить» к внутренним элементам Hibernate с пользовательским диалектом ?

ответ

1

Вы можете использовать фильтры спящего режима. На всякий случай, если вы решили откат на версии 1. Вы можете определить фильтр уровня строки в файле cbg спящего режима. . где type =: v1