Ответ 1
Единственное другое решение - реализовать Externalizable.
В настоящее время я использую критерии для извлечения сведений о пользователе, но при попытке запросить объект детали с нужным пользователем я получаю исключение 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, но есть ли другое решение?
Единственное другое решение - реализовать Externalizable.
Вы должны реализовать интерфейс Serializable
.
Мой опыт был таким. У меня была цепочка отношений между родителями и детьми. Затем меня заставили реорганизовать. Во время процесса я не смог правильно обновить все мои аннотации. То есть, когда я начал получать бросок в Serializable error. Я реализовал Serializable, и это выявило реальные проблемы. Когда все работает, я смог удалить Serializable.
Итак, в ответ на ваш вопрос, реальная проблема может быть в вашей настройке, а Hibernate пытается обойти проблемы путем сериализации определенных объектов. Попробуйте временно реализовать Serializable, чтобы выявить проблемы, а затем удалить его.