创建Hibernate JPA视图

时间:2012-02-24 17:26:04

标签: mysql hibernate postgresql jpa

我希望使用hibernate实体从主表创建几个不同的视图。我认为这将是一个非常标准的场景,但是我没有找到关于这个主题的更多信息。

主表将包含位置,视图将是州,国家等位置的类型。我知道这可以通过简单的查询限制轻松处理,但管理层希望使用视图完成。

我想知道是否可以在hibernate JPA中创建视图(使用注释)。

1 个答案:

答案 0 :(得分:1)

如果架构看起来像

id|locationtype|name|...

您可以使用TPH(每个层次结构表)

映射您的实体
@Entity
@Table(name="Location")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="locationtype", discriminatorType=DiscriminatorType.STRING)
abstract class Location
{
    private int id;
    private String name;
}

@Entity
@DiscriminatorValue("state")
class State extends Location
{
    private String someOtherProp;
}