Hibernate Polymorphic HQL SELECT statement

Я использую аннотацию Hibernate для сохранения моих классов. В настоящее время я использую следующую стратегию для отображения классов

У меня есть абстрактный класс, который является родительским классом, и у меня есть два подкласса, которые наследуются от него. Mother, Father.

Я отобразил его так:

@MappedSuperclass
public abstract class Parent {

private int age;
private String name;
...
}

А два других класса объявлены так:

@Entity
public Class Father extends Parent {

private boolean haveMustash;
...
}

Так что в основном сценарий - "Таблица на класс".

Теперь я хочу создать Hibernate HQL оператор, который будет обновлять возраст родителя, независимо от его вида (мать, отец). Родитель будет искаться с помощью столбца имени, который уникален в обеих таблицах. но я не знаю, просто глядя на имя, мать это или отец. Как я могу создать оператор HQL, который будет искать в обеих таблицах и возвращать нужную сущность для обновления?

Я думал о чем-то подобном:

Parent parent = hibernateTemplate.find("from Mother,Father where name="
        + name);
6
задан stdcall 30 November 2011 в 08:28
поделиться