有关多线程同步访问PO对象是否会被hibernate序列化的疑问

2025-03-12 13:26:02
推荐回答(2个)
回答1:

果不是实现serializable接口,可能系统也会正常不会出现错误。
终于有这个时间自己查查这个原因了,翻翻书,看看网页,针对这个问题资料还是比较少的,不过本人也了解到了一些,对po实现序列化有了更深的了解,为什么要实现序列化原因总结如下:
1、Hibernate使用组件作为复合主键时,该组件类必须满足一个条件就是:实现java.io.serializable接口。
2、MyBatis中配置缓存时,持久层需实现序列化。缓存元素有个readOnly属性,readOnly属性可以被设置为 true 或 false。只读缓存将对所有调用者返回同一个实例。因此都不能被修改,这可以极大的提高性能。可写的缓存将通过序列化来返回一个缓存对象的拷贝。这会比较慢,但是比较安全。所以默认值是 false。
3、持久存储,将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本。
4、按值封送,尤其是在分布式系统中。如果对象标记为 Serializable,则该对象将被自动序列化,并从一个应用程序域传输至另一个应用程序域,然后进行反序列化,从而在第二个应用程序域中产生出该对 象的一个精确副本。

回答2:

我也不知道,解决了麻烦自己回答下,我看看,谢谢。