使用Hibernate的数据库视图

时间:2012-05-08 09:37:45

标签: hibernate views

我的数据库中有一个名为Samples的表,它有一个名为baseline的列,它是一个布尔变量。我想在baseline设置为1的行中进行搜索,因此我在DB(MySQL)中创建了一个视图。现在,我不想查询Samples表,而是查询此视图(名称为Baselines)。

我是否需要在hibernate cfg文件中为此视图添加声明?另外,我是否需要为此创建另一个名为Baselines的Java类?

2 个答案:

答案 0 :(得分:10)

Hibernate可以像处理任何表一样对待视图。只需根据该视图定义实体类(正如您所说的那样Baselines)。

视图最常见的困难是某些数据库引擎无法处理视图上的插入或更新,因此如果应用程序尝试修改数据,请注意这一点。我不知道MySQL能否做到这一点。

使用视图的另一种方法是使用Hibernate Filters,这可以做同样的事情,但是在Hibernate会话级别。

答案 1 :(得分:1)

我在NHiberNate和SQL Server之间做了类似的事情。

我将视图视为与普通表相同。