无法强制转换为 java.io.Serializable

2022-09-01 03:35:39

我目前正在使用条件来检索用户的详细信息,但是当尝试使用正确的用户查询详细信息对象时,我得到了一个ClassCastException。

我的标准代码;

Criteria criteria = sess.createCriteria(UserDetails.class)
criteria.add(Restrictions.eq("user.id", user.id));

我也尝试使用;

Criteria criteria = sess.createCriteria(UserDetails.class)

Criteria subCriteria = criteria.createCriteria("user");
subCriteria.add(Restrictions.eq("id", user.id));

两者都给了我ClassCastException。我知道我可以通过让用户实现Serializable来轻松解决它,但是还有其他解决方案吗?


答案 1

对我来说,问题是使用非pk关系时Hibernate中的一个错误:https://hibernate.atlassian.net/browse/HHH-7668

作为一种解决方法,我实现了Serializable,并且异常消失了


答案 2

您应该实现接口。Serializable


推荐