我们目前有一个 Java EE 系统,我们在其中使用 JPA 映射到我们的数据库。这是一个相当完善的系统,有大约 20 个实体。
我们现在被命令为所有事情使用视图。例如:如果我们有一个名为PERMISSION的表,那么我们还需要一个名为PERMISSION_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 {
}
- 首先,如果只允许使用视图,如何更新表。物化视图可以为此工作吗?
- 其次,如果我们只能使用视图,将需要多少重写?例如。对于每个条目,我们需要编写@Table(name = "PERMISSION_VIEW")来描述实体,但是,在进行更新时,它需要对 PERMISSION 表执行此操作。您到底如何将其整合到实体 bean 中?