¿Las clases de tabla de Hibernate deben ser serializables?

Heredé un proyecto del portal Websphere que usa Hibernate 3.0 para conectarme a una base de datos de SQL Server.

Hay alrededor de 130 clases de tabla Hibernate en este proyecto. Todos implementan Serializable. Ninguno de ellos declara un campo serialVersionUID, por lo que el Eclipse IDE muestra una advertencia para todas estas clases.

¿Existe alguna necesidad real de que estas clases implementen Serializable?
Si es así, ¿hay alguna herramienta para agregar un campo serialVersionUID generado a un gran número de clases a la vez (solo para hacer que las advertencias desaparezcan)?

¿Existe alguna necesidad real de que estas clases implementen Serializable?

La especificación de JPA (JSR 220) lo resume bastante bien (lo mismo se aplica a Hibernate):

2.1 Requisitos en la clase de entidad

(…)

Si una instancia de entidad se pasa por valor como un objeto separado (por ejemplo, a través de una interfaz remota), la clase de entidad debe implementar la interfaz Serializable .

Por lo tanto, estrictamente hablando, esto no es un requisito a menos que necesite que las entidades separadas se envíen por cable a otro nivel, que se migren a otro nodo del clúster, que se almacenen en la sesión HTTP, etc.

Si es así, ¿hay alguna herramienta para agregar un campo serialVersionUID generado a un gran número de clases a la vez?

Creo que puedes combinar esto con las Tareas de la versión Serial (Ant) .

Hibernate no requiere ser serializable en absoluto.

El comando ” Clean Up ” de Eclipse puede hacer eso. Sin embargo, también lo hace mucho más, así que pruébelo y refine las configuraciones de limpieza y formateo antes de usarlo en un paquete completo.

No estoy familiarizado con una herramienta que lo haría automáticamente para un grupo de clases, aunque podrías escribir un guión.

Si lo haces mecánicamente con Eclipse, no debería llevarte más de 4-5 segundos por clase, que aún podría ser más rápido que un script.

Si es así, ¿hay alguna herramienta para agregar un campo serialVersionUID generado a un gran número de clases a la vez (solo para hacer que las advertencias desaparezcan)?

Puede desactivar esta advertencia dentro de la configuración del comstackdor para Eclipse, ya sea para el proyecto o su área de trabajo como un todo.