У меня есть проблема с отображением для этой структуры, что я разработанHibernate POJO отображение другого типа
public abstract class A<T> {
private int discriminator_value = -1;
private T value;
//...
}
public class One extends A<String> {
public One(){
setDiscriminatorValue(1);
}
//...
}
public class Two extends A<BigDecimal> {
public Two(){
setDiscriminatorValue(2);
}
//...
}
public class Three extends A<Date> {
public Three(){
setDiscriminatorValue(3);
}
//...
}
public class TheTargetSolution {
private Long info1;
private Long info2;
private Long info3;
private A targetPojo;
//...
}
Структура таблицы
THE_TARGET_SOLUTION_TABLE
- INFO_1 NUMBER(10)
- INFO_2 NUMBER(10)
- INFO_3 NUMBER(10)
- DISCRIM NUMBER(2)
- TEXT_A NVARCHAR2(200 BYTE)
- NUMBER_A NUMBER(10)
- DATE_A DATE
Главное, что нам нужно иметь в TheTargetSolution targetPojo, являющийся типом класса A и этот класс, не имеет сопоставления (нам нужна дополнительная информация для сущности, и те не могут делать это, используя отношение многих для многих, в этом случае все данные должны храниться в одной таблице) это пример типа приложения к дискриминатору.
Возобновление
Когда DISCRIM значение столбца равно 1, targetPojo должен по типу One
Когда DISCRIM значение столбца 2 targetPojo должен по типу Два
Когда DISCRIM значение столбца равно 3 целевому полю по типу 3
Любые предложения?
вы используете XML, или аннотации? – Bozho
Я использую XML-сопоставление –