spring - Hibernate 实体可序列化

标签 spring hibernate serialization

我已经阅读了一些关于 hibernate 和实体序列化的主题,但仍然无法理解为什么我的应用程序可以工作,尽管我没有实现 Serializable。

"If an entity instance be passed by value as a detached object, such as through a session bean’s remote business interface, the class must implement the Serializable interface." (c)



我有什么:
使用 Hibernate 的简单 Spring MVC 项目。我有 MyEntity 数据表,以及用户从我的应用程序编辑它的功能。
  • 用户向 getMyEntity() 发出请求,并获取空的 MyEntity 对象
  • 然后在表单中他设置所有需要的参数

  • 然后将更新的 myEntity 发送到服务器

  • 什么问题:
    据我了解,用户在填写表单时将拥有一个 myEntity 对象。因此,myEntity 处于分离状态。 但是,MyEntity 没有实现可序列化

    我的问题:
  • 为什么它可以在没有 MyEntity 实现 Serializable 的情况下工作?
  • 我的所有实体都有相同的方案(如上所述)。我需要实现 Serializable 吗?
  • 最佳答案

    Hibernate 不要求实体为 Serializable .

    "If an entity instance be passed by value as a detached object, such as through a session bean’s remote business interface, the class must implement the Serializable interface." (c)



    这个语句是一个常见的混淆源,因为它与 Hibernate 无关。实际上,这意味着如果您打算在需要可序列化的上下文中使用您的实体,它们应该是 Serializable .

    由于 Spring MVC 不需要模型属性为 Serializable同样(除非您想利用 session 持久性来使用 @SessionAttributes 存储在 session 中的属性),因此您无需担心您的情况的可序列化性。

    关于spring - Hibernate 实体可序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18741445/

    相关文章:

    spring - SeekToCurrentBatchErrorHandler 对死 DLQ 的支持

    java - @Autowired bean 在另一个 bean 的构造函数中引用时为空

    java - 如何强制 Hibernate 返回一个空值而不是 null?

    java - JPA 抛出 - "ERROR: user lacks privilege or object not found: BOOK"

    java - 我可以忽略 ObjectMapper 中的 MismatchedInputException 吗?

    java - 如何正确使用hibernate session ?

    java - 让 parent 带着 child 进入 hibernate 状态

    python - 使用 json 和 python 序列化/反序列化对象列表

    java - append 到 ObjectOutputStream

    python - 如何在 serpy 序列化器中指定数据库模型?