Serializable和非Serializable对象之间的区别保存到数据库中

时间:2014-12-16 05:01:06

标签: database object dns save serializable

当对象可序列化或不可序列化时,将数据对象保存到数据库之间有什么不同。

例如:我有一个名为Book

的域类
class Book implements Serializable{
private int id;
private String name;
//getter and setter
}

没有实现Serializable接口

class Book {
private int id;
private String name;
//getter and setter
}

现在我要将Book对象存储到数据库表中。 我知道实现Serializable时,数据应该转换为字节流。那么在将数据保存到db

时,上述两个选项之间的区别是什么

任何人都可以纠正我 谢谢 Amila

1 个答案:

答案 0 :(得分:1)

一般来说,没有任何区别。将实体作为Serializable用于持久性不是必须的,并且严格依赖于您用于持久层的框架。

e.g。 Hibernate根本不需要,尽管按照JPA规范制作实体Serializable是最佳做法 -

  

如果要将实体实例作为分离对象传递   (例如,通过远程接口),实体类必须实现   Serializable接口。

因此,如果你需要在HTTP会话中使用分离的实体,或者传递给另一个层,序列化它们等等 - 你需要将你的实体作为Serializable个对象。