Подскажите, как получить в коде Discrimator value для сущностей, у которых Inheritance strategy = Single table?
И видимо отдельный вопрос, как получить Discrimator value, который по умолчанию. Из annotation класса?
Подскажите, как получить в коде Discrimator value для сущностей, у которых Inheritance strategy = Single table?
И видимо отдельный вопрос, как получить Discrimator value, который по умолчанию. Из annotation класса?
Михайл,
В платформе дополнительного API по получению discriminator value нету. Вы сможете получить его с использованием рефлексии:
DiscriminatorValue discriminatorValueAnnotation = (DiscriminatorValue)
clazz.getAnnotation(DiscriminatorValue.class);
return discriminatorValueAnnotation.value();
Андрей, доброго дня.
clazz - в данном случае это класс, значение дискриминатора которого я хочу получить?
Т.е. в моем случае, предположим, это должно выглядеть так?
DiscriminatorValue discriminatorValueAnnotation = (DiscriminatorValue) ActivityInstall.class.getAnnotation(DiscriminatorValue.class);
Если так, то discriminatorValueAnnotation в моем случае равен null.
Михаил,
А в классе есть аннотация DiscriminatorValue ?
Нет. В данном случае это сущность с дискриминатором по умолчанию.
Привет!
Дикий способ, запрос SQL в БД Там то колонка есть!
Значение по умолчанию достаточно обработать отдельно. Либо есть аннотация, либо её нет - значит используется поведение Eclipse Link с указанием имени сущности.