Классы classов Hibernate должны быть Serializable?

Я унаследовал проект Websphere Portal, который использует Hibernate 3.0 для подключения к базе данных SQL Server.

В этом проекте содержится около 130 таблиц Hibernate. Все они реализуют Serializable. Ни один из них не объявляет поле serialVersionUID, поэтому среда Eclipse IDE показывает предупреждение для всех этих classов.

Есть ли настоящая потребность в этих classах для реализации Serializable?
Если да, есть ли какой-либо инструмент для добавления сгенерированного поля serialVersionUID в большое количество classов одновременно (просто чтобы предупреждения были удалены)?

    Есть ли настоящая потребность в этих classах для реализации Serializable?

    Спецификация JPA (JSR 220) очень хорошо описывает ее (то же самое относится к Hibernate):

    2.1 Требования к classу сущностей

    (…)

    Если экземпляр объекта должен передаваться по значению как отдельный объект (например, через удаленный интерфейс), class сущности должен реализовывать интерфейс Serializable .

    Поэтому, строго говоря, это не является требованием, если вам не нужны отдельные сущности, которые должны быть отправлены по проводке на другой уровень, для переноса на другой узел кластера, который будет храниться в сеансе HTTP и т. Д.

    Если да, есть ли какой-либо инструмент для добавления сгенерированного поля serialVersionUID в большое количество classов одновременно

    Я думаю, что вы можете выполнить его с помощью серийной версии (Ant) Tasks .

    Hibernate вообще не требует сериализации.

    Команда Eclipse « Очистить » может это сделать. Тем не менее, это также делает намного больше, поэтому проверьте его и уточните параметры очистки и форматирования перед его использованием на весь пакет.

    Я не знаком с инструментом, который сделает это автоматически для кучи classов, хотя вы можете написать скрипт.

    Если вы механически выполняете это с помощью Eclipse, оно не должно занимать вас более 4-5 секунд на class, который может быть быстрее, чем сценарий.

    Если да, есть ли какой-либо инструмент для добавления сгенерированного поля serialVersionUID в большое количество classов одновременно (просто чтобы предупреждения были удалены)?

    Вы можете отключить это предупреждение в настройках компилятора для Eclipse – либо для проекта, либо для вашего рабочего пространства в целом.

    Давайте будем гением компьютера.