我继承了一个使用Hibernate 3.0连接到SQL Server数据库的Websphere Portal项目。
这个项目中大约有130个Hibernate表类。它们都实现了可序列化。它们均未声明serialVersionUID字段,因此Eclipse IDE对所有这些类均显示警告。
这些类是否真正需要实现Serializable? 如果是这样,是否有任何工具可以一次将生成的serialVersionUID字段添加到大量类中(只是为了消除警告)?
这些类是否真正需要实现Serializable?
JPA规范(JSR 220)对其进行了很好的总结(对Hibernate同样适用):
2.1对实体类的要求 (…) 如果实体实例将作为分离对象通过值传递(例如,通过远程接口),则实体类必须实现该Serializable接口。
(…)
如果实体实例将作为分离对象通过值传递(例如,通过远程接口),则实体类必须实现该Serializable接口。
Serializable
因此,严格来说,这不是必需的,除非您需要将分离的实体通过电线发送到另一层,迁移到另一个群集节点,存储在HTTP会话中,等等。
如果是这样,是否有任何工具可一次将生成的serialVersionUID字段添加到大量类中
我认为您可以使用序列号(Ant)Tasks批处理此任务。