2017-05-31 30 views
0

我得到POJO,我從數據庫中獲取:JAXB編組一個POJO財產到另一個

@Entity 
public class Application implements Serializable{ 

private static final long serialVersionUID = 1L; 

@Id 
private Integer id; 

@Column(name = "XMLOTHERINFORMATION", columnDefinition="XMLType") 
private String xmlOtherInformation; 

... 

我想以某種方式創建瞬態屬性retrive解組類的getter。我認爲每次被調用的時候,marshall/unmarshall都是壞主意,因爲xmlOtherInformation可能很大,我擔心它會使性能變差。另外還有一個問題是我的String屬性和XMLClass應該在persistence之前同步。任何想法如何處理?

回答

0

兩個數據結構之間達到同步,我可以推薦兩種選擇:

1)在所有應用程序使用一個數據類型(POJO最好),並在需要時將其轉換爲XML。此時,您知道您正在轉換最新的對象狀態。

2)創建一個包含數據版本並分別管理它們的包裝類。這將避免每次需要某種數據類型時的轉換,但也會降低性能並分配更多的內存。

任何方式,你必須決定根據你的任務做什麼。如果您知道數據將被非常頻繁地更改但未被讀取,那麼您可以使用單個對象進行操作,並在需要時將其轉換爲另一個狀態。在其他情況下,如果你有非常頻繁的讀操作,那麼在內存中包含兩種數據類型會更好,但是更新會花費更多時間。

相關問題