2011-02-10 72 views
1

我有2个表和一个视图。表A有一定的领域。 TableAHistory与TableA具有相同的字段。 ViewAll是TableA和TableAHistory的并集,但还有一个名为“current_vers”的字段,它表示当前版本(TableA行为'Y',TableAHistory行为'N')。Hibernate实体表和视图之间的继承

看起来我应该可以将现有的Hibernate Entity bean用于TableA并将其扩展为为ViewAll创建一个视图。但是,当我这样做时,我收到了一些我没有的DTYPE列的错误。

我该怎么做?

编辑:我需要能够查询视图,但我的结果是TableA豆。

+0

TableA和TableAHistory是否存在于相同或单独的数据库表中? – 2011-02-11 01:31:25

回答

0

它看起来像你试图做的是创建一个审计跟踪。我的回答是基于这个假设。

最好的Hibernate批准的解决方案是使用Hibernate Envers。这允许您精确地控制要审核的字段以及跨越关系和继承边界的强大版本实现。 Envers也有API支持访问以前的版本,以查看更改,时间戳,版本等。

如果您仍然可以灵活地添加此项,我强烈建议使用Envers。