2011-07-08 15 views
2

通常我々は、Hibernateマッピングによって、データベース内のリストを格納します。店舗一覧は

<list name="userItems" cascade="all" lazy="false"> 
    <key column="user_date_id"/> 
    <index column="idx"/> 
    <one-to-many class="UserItem"/> 
</list> 

は、他の方法はありますか? Seializableオブジェクトとして保存できますか?同様:

<property name="list" column="list" type="serializable" /> 

答えて

3

私はHibernate Annotiationsを使用していますが、ここではArrayListのようにListの実装としてフィールドを定義します。その後、他のクラスのSerializableを実装しているように、Hibernateはそれをbyteaとしてデータベースに格納します。

もちろん、リストにはSerializableを実装する要素しか含めるべきではありません。

1

私はあなたが直接リストをシリアル化できるかわからないが、あなたが同じ大きさのオブジェクトを、リストのラッパー・オブジェクトを作成し、それを宣言するかもしれない場合(XMLバリアントを知らないが、それはです注釈)。これは、文字列ではないので、自動的に直列化されます。したがって、clobではなくむしろblobです。