2011-10-29 2 views
1

のためのPOJOをきれいにするために、ここで一つの質問は、私が上で立ち往生しているようである:私はHibernateのエンティティの数が多いとしたいの変換にHibernateエンティティは、JavaでORMのものを使用して、私はまだ新しいよ連載

サーバ上でそれらのクエリを実行して(うまく動作します)、次にそれらを(ObjectOuputStreamを使用して)直列化してクライアントに送信します。

クライアント上でそれらを逆シリアル化すると、依然として多数のHibernate/javax.persistence依存関係が存在します。

私のエンティティを、休止状態に依存しないPOJOに変換することは、何とかできますか?

ありがとうございます!

編集: 私はアノテーションを使用していますが、これはおそらく愚かです。私は、すべてのクラスを注釈なしに再定義する必要があります。そして、それらは標準の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

ありがとうございました!私のエンティティは、実際にはシンプルなシリアライゼーションではなく、プロトタイプを使用して送信されましたが、ネットワーキングはチームメイトのコンポーネントでした。私は、Hibernate Spatialを使用して遭遇した問題を書き留めていて、シリアル化/デシリアライズができないという問題を書き留めていました。 – rdrey

関連する問題