有相同的列,继承与hibernate

时间:2015-04-10 09:32:59

标签: java hibernate jpa

假设我有3个实体:

@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = 'type', discriminatorType = DiscriminatorType.STRING)
public class Task {
    ...
}

@DiscriminatorValue("rank")
public class RankTask extends Task {
    String keyword;
}

@DiscriminatorValue("Store")
public class SearchTask extends Task {
    String keyword;
}

现在问题是当我想获得关键字列表时,hibernate上的第一个连接有关键字(hibernate自动创建连接)而我无法访问第二个关键字。无论如何都要通过创建别名来访问第二个关键字吗?

getSession().createCriteria(Task.class, "t")
    .setProjection(projectionList()
        .add(Projections.property('t.keyword'), 'keyword')
    )
   .list();

0 个答案:

没有答案