首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JPA:从视图更新表读取

JPA:从视图更新表读取
EN

Stack Overflow用户
提问于 2011-12-28 10:21:41
回答 2查看 1.6K关注 0票数 0

是否可以让JPA从视图读取实体,然后更新表。

举一个例子:

我们有一个从SuppliersInvoice_VW读取的实体。此视图和关联实体将包含InvoiceNo、SupplierCode、SupplierName和value。

用户可以看到以下内容:

发票编号: 1234

供应商:Joes的硬件

价值: 50

这使他意识到值应该是509,因此他相应地进行更新。

发票编号: 1234

供应商:Joes的硬件

价值: 509

这将触发对我们的SuppliersInvoice实体的更新。

我已经映射了@Table("SuppliersInvoice_vw"),这意味着它从SuppliersInvoice_vw读取数据,但这也意味着它将通过该视图进行更新。

是否有办法使JPA从视图( SuppliersInvoice_vw )读取并更新表(SuppliersInvoice)?

另一种策略是只更新视图,但是一直建议我不要太过这样做。该建议是否具有性能基础,还是更符合“通过视图更新时可能出错的问题”的思路。

EN

Stack Overflow用户

发布于 2011-12-28 15:18:26

我以前在视图/表和实体中也遇到过同样的问题。我不知道您使用的是什么后端数据库,但在我的例子中,我运行的是PostgreSQL 9.x。为了解决这个问题,我在数据库中创建了触发器,允许我在视图中插入或更新,然后通过触发器适当地更新视图后面的底层表。这样,您仍然可以更新您的SuppliersInvoice实体对象,并像往常一样使用JPA保存更改,但是后端数据库将根据您提供的更新适当地更新真实的表。

这里有一个链接,指向插入/更新/删除规则 9.1中的PostgreSQL文档,这样您就可以自己看到了。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8654597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档