hibernate - 无法反序列化 org.hibernate.type.SerializationException

标签 hibernate serialization

请帮助 - 我的应用程序在今天之前运行良好。今天我得到了“无法反序列化”的异常。 java.io.eof 异常。有时我能够获得数据。问题是间歇性的。这里可能是什么问题?

@Entity
@Cacheable
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
public class Filter {
private int id;
    private String name;
    private User user;
    private NameValue[][] filterMap;


    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE)
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    @ManyToOne(
            targetEntity = User.class
    )
    @JoinColumn(name="userName")
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
    @Lob
        public NameValue[][] getFilterMap() {
        return filterMap;
    }
    public void setFilterMap(NameValue[][] filterMap) {
        this.filterMap = filterMap;
    }

最佳答案

这可能是因为对象可以被缓存,并且您必须将缓存配置为溢出到磁盘(或任何其他存储)。

当您尝试序列化或反序列化类时会出现问题,并且会发生以下一种或多种情况:

  • 类或任何字段(例如 User)未实现 Serializable
  • 自上次部署以来,该类发生了变化,java 生成了一个新的 serialVersionUID。当 java 尝试加载以前在磁盘缓存中的对象时,serialVersionUID 不匹配并抛出错误。
  • 您使用的是不同的 JVM,它会生成不同的 serialVersionUID
  • 关于hibernate - 无法反序列化 org.hibernate.type.SerializationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12901206/

    相关文章:

    hibernate - JPA 单向 @OneToOne 与 Hibernate 的 @ManyToOne - 没有区别吗?

    java - MySQL 中的日期问题

    Android native 库 - 写入日志的序列化方式

    c++ - Msgpack 中是否有版本控制功能

    c# - 从 BindingList 和 ISerializable 接口(interface)序列化派生类

    java - Jackson JSON 在序列化之前修改对象

    Java无效的流头问题

    java - 是否需要在每次查询时关闭实体管理器?

    java - 从 jetty 服务器发出 SQL 请求时如何修复此 SSL 错误

    java - 使用 CascadeType.ALL 的 JPA 外键约束