Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法使用Hibernate将数据库视图映射到Java对象?_Java_Database_Hibernate - Fatal编程技术网

有没有办法使用Hibernate将数据库视图映射到Java对象?

有没有办法使用Hibernate将数据库视图映射到Java对象?,java,database,hibernate,Java,Database,Hibernate,是否可以将模型映射到数据库视图而不是表?如果是,怎么做?是。这很简单。如果您有一个名为EXAMPLE_view的视图,则只需执行以下操作: @Entity @Table(name = "EXAMPLE_VIEW") public class Example implements Serializable { } 您映射的示例类中的列与映射表完全相同。对于Hibernate,视图就像一个表您需要一个主键才能使Hibernate正常工作。另一种方法是在映射此视图时创建包含某些列的复合键。如

是否可以将模型映射到数据库视图而不是表?如果是,怎么做?

是。这很简单。如果您有一个名为EXAMPLE_view的视图,则只需执行以下操作:

@Entity 
@Table(name = "EXAMPLE_VIEW") 
public class Example implements Serializable { 

}

您映射的示例类中的列与映射表完全相同。对于Hibernate,视图就像一个表

您需要一个主键才能使Hibernate正常工作。另一种方法是在映射此视图时创建包含某些列的复合键。如果这甚至不可能,您将需要使用JDBC或本机查询,hibernate映射不是一个选项。如何向视图中添加主键?您可以使用EmbeddedId来执行此操作。阅读此答案了解如何: