java - 在 hibernate 中将列表存储为可序列化对象

标签 java list hibernate-mapping

通常我们通过hibernate映射将List存储在数据库中:

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

还有别的办法吗?我们可以将其存储为 Seialized 对象吗?喜欢:

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

最佳答案

我使用 Hibernate Annotiations,这里的技巧是将您的字段定义为 List 实现,如 ArrayList。然后(就像任何其他实现 Serialized 的类一样 - 我猜)Hibernate 将其作为 bytea 存储在数据库中。

当然,列表应该只包含实现Serialized的元素。

关于java - 在 hibernate 中将列表存储为可序列化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6622710/

相关文章:

获取扩展父类的子类列表的Java代码

java - Spring 启动 java.sql.SQLException : Field 'id' doesn't have a default value

Python:如何从不满足特定条件的元素创建列表

java - 不使用集合从 java 列表中删除重复项

java - 当我们使用 hibernate 创建主键时,我们使用 @Id 作为注释,但是应该使用什么注释来定义外键

java - 我的组件在 JPanel 上不可见

java - 为什么 Java 日期 API(java.util.Date、.Calendar)如此困惑?

c# - 如何根据每个类(class)的值(value)订购类(class)列表?

spring - 如何使用 Hibernate 配置多个模式

java - Hibernate 抛出 "NULL not allowed for column",因为使用 @MapsId 时 SQL INSERT 中缺少 JPA OneToOne 关系 FK