2011-07-08 53 views
2

通常我們存儲在數據庫中的表由Hibernate映射:店鋪列表在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,這裏的技巧是將您的字段定義爲List實現,如ArrayList。然後(像其他任何類實現Serializable - 我猜)Hibernate將它作爲bytea存儲在數據庫中。

當然,該列表應該只包含實現Serializable的元素。

1

我不知道,你可以直接序列化列表,但如果沒有你可能會爲列表中的包裝對象,並宣佈它爲大對象(不知道XML的變體,但它的@Lob註釋)。這應該會自動序列化,因爲它不是一個字符串,因此不是clob而是一個blob。