2016-04-18 6 views
0

私は非常に古いJavaアプリケーションをSpring BootとHibernate 5に書き直しています。この作業の一部は、XML設定(SpringとHibernateの両方)を注釈で置き換える必要があります。アノテーションを追加するとJava Serializationが中断されますか?

私は以下の質問があります。

public class MyObject implements Serializable { 
     private static final long serialVersionUID = 81848571841847187L; 
     private String id; 
     private String name; 
     //getters and setters... 
} 

このクラスは、ネットワーク経由でシリアル化、およびclassersはその端にデシリアライズするためには、含まれている必要があります「共通」jarファイルに含まれている:のアプリケーションのようなクラスが含まれているとしましょう。呼び出し側が(上記のオブジェクトをデシリアライズ人)ないは彼のクラスパスにそれらの注釈を持っていなければ、:

は、私の質問はあるのは、私が

@Table(...) 
@Entity 
public class MyObject implements Serializable { 
     private static final long serialVersionUID = 81848571841847187L; 

     @Id 
     @Column(...) 
     private String id; 

     @Column(...) 
     private String name; 
     //getters and setters... 
} 

クラスにいくつかのHibernateとJPAのアノテーションを追加することを想定してみましょうシリアライゼーションは失敗しますか?

答えて

0

注釈はRETENTION = RUNTIMEのバイトコードでのみ使用されますが、シリアル化はクラスではなくオブジェクトフィールドで動作します。

ただし、注釈はカスタムシリアライザで使用できることを理解することが重要です。 たとえば、これは@Transient除外が実装される方法です。

次に、どのタイプのシリアライゼーションメカニズムが使用されているかを確認することです。

elad

関連する問題