Спящий и Сериализуемый - PullRequest
0 голосов
/ 11 ноября 2011

Я немного сбит с толку, у меня сложилось впечатление, что классы должны будут реализовывать только сериализуемые, ну, если мне нужно их сериализовать (как в hibernate не требуется, чтобы классы были сериализуемыми, если все, что я хочу, это настойчивость)

В любом случае, следующее меня немного смутило. У меня есть класс, давайте назовем его А. Которые имеют отношение один к одному с другим классом. Давайте назовем это B.

Теперь я добавил еще одно отношение один к одному и к классу C, и теперь я получаю исключение времени выполнения, когда использую mySession.get (A.class, myid), сообщая мне, что C не может быть приведен Сериализуемый

Я не могу понять, почему C должен иметь сериализуемую реализацию, когда это не нужно ни одному из моих других классов гибернации.

Обновление

Еще одна странная вещь: это отображение фактически работало без сериализации класса C в прошлом.

Я сделал ручное изменение данных внутри таблицы, используя клиент mysql. Я запустил обновление, которое преобразовало все строки в таблице в верхний регистр с помощью функции UPPER (). Могло ли это быть то, что заставило hibernate хотеть, чтобы класс был сериализуемым сейчас?

1 Ответ

2 голосов
/ 11 ноября 2011

эта ошибка встречается часто, когда вы забыли выполнить сопоставление с постоянным объектом вашего класса,

например, у вас есть постоянный класс. Внутри пользователя есть другой постоянный класс Address, которому сопоставлен Address, но в Userзабыл установить отношение один к одному, тогда вы отобразили как базовый тип

проверьте код для любого прощенного отображения отношения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...