我們有存儲SpecialStrings的舊式列的表。這些SpecialStrings不能爲NULL,而是等於SPECIAL_UNICODE_NULL
。通過使用自己的註釋來更改Entity Bean值的查看方式
因此,要發送的實體回通過JAX-WS客戶端,我們必須要麼實現整個實體包裝發送它,而不是實體的或明確添加轉換邏輯實體get方法。
我們希望做的就是用我們自己的@LegacyString
註解。
@Column(name="A_LEGACY_COLUMN")
@LegacyString
public String oneOfThenLegacyColumn;
然後在默認實體監聽@PostLoad
我們會通過適當的變換變換所有@LegacyString領域普通字符串。
但是,這樣的解決方案的問題是,經過後負載修改實體被認爲是改變和實體管理器將嘗試將其更新到數據庫中。當然,我可以使用方法恢復更改。但我不確定這是否會阻止實體進行真正的更新。
所以問題是:如何更改實體Bean值通過自己的註釋查看?
P.S.我對ClassLoader進行了一些挖掘,並且我將考慮在加載時間中添加更改的變體。但是我無法找到Application Server類加載器案例的合理示例。
我打算今天這個檢查。它看起來很漂亮。與TopLink相同的事情呢?它可以以某種方式跨越廠商? – 2009-07-02 06:57:21