了解删除或更新实体映射到数据库视图

时间:2013-03-19 07:30:57

标签: java hibernate jpa oracle10g jpa-2.0

我对使用Hibernate

从数据库视图中更新或删除行感到怀疑

我在实体

中有以下内容
@Entity
@Table(name = "V_EMPLOYEES")
.....

V_EMPLOYEES是用于连接两个表的数据库视图

在DAO课程中我按

删除一行
entityManager.remove(entityManager.merge(employees));

基于以上所述,我可以成功删除基于主键的行。

由于我在Entity类中映射了一个视图,如何从表中成功删除一行?因为根据Hibernate常见问题解答 - view is just like any other table (except that you might not be able to update or insert to a view)

任何意见或见解都非常值得赞赏。

我的Hibernate版本4.1.0 Final

1 个答案:

答案 0 :(得分:1)

哦,实际上有一个很好的问题,对于某些类型的数据库,您甚至可以插入从Mysql等视图中删除数据。但是视图应该有一些特殊功能,例如视图应该包含1个表中的所有列。操作是否可行取决于数据库引擎不休眠。