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

Jes*_*ess 4 serialization hibernate

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

@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;
    }
Run Code Online (Sandbox Code Playgroud)

Aug*_*sto 6

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

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

  1. 类或任何字段(例如用户)未实现可序列化
  2. 自上次部署以来该类已更改,并且 java 生成了新的serialVersionUID。当 java 尝试加载先前位于磁盘缓存中的对象时,serialVersionUID 不匹配并引发错误。
  3. 您正在使用不同的 JVM,它会生成不同的serialVersionUID