Hibernate 我是否可以使用JPA用生成的数据填充字段(即使用视图)?

Hibernate 我是否可以使用JPA用生成的数据填充字段(即使用视图)?,hibernate,jpa,view,insert,Hibernate,Jpa,View,Insert,实际上,我已经使用视图部分地实现了这一点,但我不确定这是否是正确的方法 我有一个数据库表,托管,映射到一个实体。然后,我创建了一个名为ESCROW_-DERIVED的视图,该视图包含与表相同的列,但还有另一列定义为: SELECT count(*) FROM escrow_access a WHERE e.id=a.escrow AND a.viewed=1) as num_dirty 我修改了实体以指向视图,并添加了以下属性: @Column(name = "NUM_DIRTY")

实际上,我已经使用视图部分地实现了这一点,但我不确定这是否是正确的方法

我有一个数据库表,托管,映射到一个实体。然后,我创建了一个名为ESCROW_-DERIVED的视图,该视图包含与表相同的列,但还有另一列定义为:

SELECT count(*) FROM escrow_access a WHERE e.id=a.escrow AND a.viewed=1) 
    as num_dirty
我修改了实体以指向视图,并添加了以下属性:

@Column(name = "NUM_DIRTY")
private Integer numDirty;
检索数据非常有效。问题是当我尝试插入时。我得到以下错误:

内部异常:java.sql.SQLSyntaxErrorException:ORA-01733:此处不允许虚拟列

我只想让我的实体填充numdity,以便我可以将其用于显示目的。使用类似于此视图的内容可以通过单个查询检索数据


有没有办法让它正常工作?

所以实体现在映射到视图(而不是表)?在这种情况下,您无法插入/更新/删除该类型的数据。您将需要2个实体。一个用于查看,另一个用于表格。必须对表的实体执行插入、更新和删除操作。是否有方法优雅地执行此操作,或者在持久化之前,我必须手动将托管派生的值复制到托管中?有没有一种方法可以从视图中读取数据,但写入表中(使用单个实体)?