实体hibernate实现了序列化

时间:2013-05-05 16:44:28

标签: hibernate entity serializable

我以前读过编码最佳实践是hibernate的实体不应该实现

  

的java.io.Serializable


我的想法是为了更好的性能,避免编译器处理实体的东西。我们应该使用DTO序列化来代替客户端和服务器。

是不是?

非常感谢!

2 个答案:

答案 0 :(得分:0)

这根本不是最佳实践,实现可序列化与否可对性能没有任何影响。如果您希望能够序列化您的实体,请使它们实现Serializable。如果你不想,那么不要让它们实现Serializable。就这么简单。

当实体本身包含足够的信息时,使用DTO被视为反模式而非被视为最佳实践。

答案 1 :(得分:0)

Hibernate POJO不可序列化。这不是最佳实践或表现的问题。它根本不起作用。这就是原因。

将POJO声明为可序列化时,不会出现任何编译器错误。但是在执行时,当您尝试序列化和反序列化对象时,可能会出现异常。

例如,当您使用GWT并在客户端和服务器之间发送数据时,会出现此问题。这与Hibernate POJO失败只是因为它们无法序列化。有关更详细的例外情况,请参阅“为什么Hibernate对象到达浏览器世界时无法理解”一章中的description of GWT with Hibernate(位于页面中间位置之前)。