2011-10-29 63 views
1

我還是新來在Java中使用ORM的東西,這裏是一個問題,我似乎被卡住:轉化Hibernate的實體清理POJO的序列化

我有大量的Hibernate實體和希望在服務器上查詢它們(工作正常),然後將它們串行化(使用ObjectOutputStream)並將它們發送給客戶端。

如果我在客戶端反序列化它們,仍然有大量的Hibernate/javax.persistence依賴關係。

是否有可能將我的實體轉換爲POJO而不依賴於hibernate?

謝謝!

編輯: 要清除的東西,我使用註釋,這可能是愚蠢的。我需要將所有類重新定義爲無標註,然後它們應該是標準的POJO。

回答

2

是的,你只需要回退到XML配置,而不是方便的註釋。 Hibernate從一開始就有它的hbm文件,JPA使用orm.xml

每個都可以用XML表示,註釋只是語法糖。這樣你的實體將完全免於Hibernate/javax.persistence引用。

參見:JPA: Should I clean up my entity classes using orm.xml?

P.S:請記住,序列化你的域模型(JPA/Hibernate的實體)會證明,一旦你開始重構你的域模型很快是一個痛苦。即使你控制雙方。真的,真的考慮DTO。

+0

謝謝!我的實體實際上使用protostuff發送,而不是簡單的序列化,但網絡是隊友的組成部分。我正忙着寫出使用Hibernate Spatial遇到的問題,而不能序列化/反序列化是其中之一。 – rdrey