Подкласс Hibernate, который имеет несколько значений дискриминатора

Здравствуйте, у меня есть подкласс, который должен покрывать несколько значений дискриминатора.

что-то вроде:

@DiscriminatorValue (value = "ACT", "DNR", "ATT" )

сделал бы меня совершенным.

у нас есть существующие данные, в которых несколько дискриминаторов могут быть сопоставлены с одним классом (поскольку они похожи на то, что наша система будет рассматривать одно и то же)

Ответы

Ответ 1

Вы можете использовать DisccriminatorFormula:

// Base class
@DiscriminatorFormula("case when value in ('ACT','DNR','ATT') then 1 
   when 'OTH' then 2 else 3 end")

// Subclass 
@DiscriminatorValue("1") // maps to ACT, DNR, ATT

Ответ 2

Подкласс имеет ровно 1 значение дискриминатора.

Вы можете добавить дополнительные подклассы под существующим подклассом для дополнительных значений дискриминатора. Подклассы не должны иметь дополнительных свойств или поведения.