查看与休眠

use*_*125 8 hibernate

如何使用Hibernate映射具有多个entiites的视图?

问候,chaitu

jpk*_*ing 8

请参阅Hibernate文档中5.1.3"类"一节,就在"Id"部分之前:

Hibernate映射的视图和基表之间没有区别.这在数据库级别是透明的,尽管某些DBMS不能正确支持视图,尤其是对于更新.有时您希望使用视图,但无法在数据库中创建视图(即使用旧模式).

http://docs.jboss.org/hibernate/core/3.5/reference/en/html/mapping.html#mapping-declaration-class

还有一个关于如何使用XML来做到这一点的例子.


mor*_*avi 6

Subselect是您的自然选择.这是一个有效的例子:假设我们在DBMS中有一个名为"view1"的视图.你不需要任何其他东西,虽然如果视图不可更新,使用@Immutable会很好地解决性能问题.请注意,您的类和视图中必须有一个id列

@Entity
@Subselect("select * from view1")
public class EventView {
    @Id @GeneratedValue
    private int id;
Run Code Online (Sandbox Code Playgroud)