对象持久化和数据序列化

对象持久化(Persistence)

  对象持久化就是将对象存储在可持久保存的存储介质上,例如主流的关系数据库中。
  在实际应用中,需要将业务数据以对象的方式保存在数据库中,
  就需要应用到相应的对象持久化框架,如现在广为认知的Hibernate。
  而如果查阅对象持久化的历史,你会发现早在1970年就已经开始有称之为面向对象数据库OODBMS。
  通常这些面向对象的数据库和特定的一种语言绑定。
  对象持久化的重点在于如何将业务数据对象存储在持久化介质上,
  并同时提供查询修改的手段。

数据序列化(Serialization)

  数据序列化就是将对象或者数据结构转化成特定的格式,使其可在网络中传输,
  或者可存储在内存或者文件中。反序列化则是相反的操作,
  将对象从序列化数据中还原出来。而对象序列化后的数据格式可以是二进制,
  可以是XML,也可以是JSON等任何格式。
  对象/数据序列化的重点在于数据的交换和传输,
  例如在远程调用技术(如EJB,XML-RPC, Web Service),
  或者在GUI控件开发(JavaBean)等等。

总结一下,对象持久化和对象序列化是两个完全不同的应用场景,尽管你也可以说将一个对象序列化后存储在数据库中,但是你也不能说是对象持久化。

你可能感兴趣的:(Hibernate)