当对象可序列化或不可序列化时,将数据对象保存到数据库之间有什么不同。
例如:我有一个名为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
答案 0 :(得分:1)
一般来说,没有任何区别。将实体作为Serializable
用于持久性不是必须的,并且严格依赖于您用于持久层的框架。
e.g。 Hibernate根本不需要,尽管按照JPA规范制作实体Serializable
是最佳做法 -
如果要将实体实例作为分离对象传递 (例如,通过远程接口),实体类必须实现 Serializable接口。
因此,如果你需要在HTTP会话中使用分离的实体,或者传递给另一个层,序列化它们等等 - 你需要将你的实体作为Serializable
个对象。