2011-02-10 42 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。