gpt4 book ai didi

java - JPA 和 TableView 。可以做到吗?

转载 作者:IT老高 更新时间:2023-10-28 20:46:33 26 4
gpt4 key购买 nike

我们目前有一个 Java EE 系统,我们在其中使用 JPA 映射到我们的数据库。这是一个相当完善的系统,大约有 20 个实体。

我们现在被命令为所有事情使用 View 。例如:如果我们有一个名为 PERMISSION 的表,那么我们还需要一个名为 PERMISSION_VIEW 的 View 。基本上我们需要对每个表都这样做,而我们的应用程序只能通过查询 View 来访问数据。

现在我们所有的实体 bean 看起来像这样:

@Entity
@Table(name = "PERMISSION")
@NamedQueries({
@NamedQuery(name = "Permission.findByPK", query = "SELECT p FROM Permission p WHERE p.dpNum = :dpNumber"),
@NamedQuery(name = "Permission.deleteAll", query = "DELETE FROM Permission") })
public class Permission implements Serializable {

}
  • 首先,如果只允许使用 View ,如何更新表格。物化 View 可以解决这个问题吗?
  • 其次,如果我们只能使用 View ,将需要多少重写?例如。对于每个实体,我们需要编写 @Table(name = "PERMISSION_VIEW") 来描述实体,但是,在进行更新时,它需要对 PERMISSION 表执行此操作。您到底是如何将其整合到实体 bean 中的?

最佳答案

有关 JPA 和数据库 View 的更多信息,请参阅 http://en.wikibooks.org/wiki/Java_Persistence/Advanced_Topics#Views

In JPA you can map to a VIEW the same as a table, using the @Table annotation. You can then map each column in the view to your object's attributes. Views are normally read-only, so object's mapping to views are normally also read-only. In most databases views can also be updatable depending on how complex to query is that they encapsulate. Even for complex queries database triggers can normally be used to update into the view.

关于java - JPA 和 TableView 。可以做到吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16686501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com