java中hibernate的Serializable 10
publicinterfaceCommonDAO{publicObjectget(Classclazz,Serializableid);publicSerializabl...
public interface CommonDAO {
public Object get(Class clazz,Serializable id);
public Serializable add(Object o);
}
这是hibernate底层的一个dao接口,add是通过hibernate向数据库save一个对象,但它为什么返回一个Serializable接口类型?是说明save的对象要实现Serrializable接口吗?如果保存的对象没有实现序列化就会抛异常吗?还有get方法的第二个参数是什么意思?能举个例子吗?谢谢 展开
public Object get(Class clazz,Serializable id);
public Serializable add(Object o);
}
这是hibernate底层的一个dao接口,add是通过hibernate向数据库save一个对象,但它为什么返回一个Serializable接口类型?是说明save的对象要实现Serrializable接口吗?如果保存的对象没有实现序列化就会抛异常吗?还有get方法的第二个参数是什么意思?能举个例子吗?谢谢 展开
3个回答
展开全部
我觉得这个序列化对象是指:当前表项中的主键所对应的实体字段。
第一个方法public Object get(Class clazz,Serializable id);
显然是查找对象时所需要的表(即实体类)和id(即主键,主键可以是一个列项或多个列项)因为主键需要被hibernate进行管理以用来在session中'备份'或者实现远程传递等等,序列化是有必要的。
至于第二个方法:public Serializable add(Object o);
返回值应该就是保存对象得到的序列化主键(有的对象保存完成才能知道主键的值,如含有自增字段的)。
第一个方法public Object get(Class clazz,Serializable id);
显然是查找对象时所需要的表(即实体类)和id(即主键,主键可以是一个列项或多个列项)因为主键需要被hibernate进行管理以用来在session中'备份'或者实现远程传递等等,序列化是有必要的。
至于第二个方法:public Serializable add(Object o);
返回值应该就是保存对象得到的序列化主键(有的对象保存完成才能知道主键的值,如含有自增字段的)。
展开全部
Serializable序列化与反序列化使用,接口,没有要实现的方法。
标记为序列化后,可以将其写入到流里面,使别处的虚拟机可以识别。
比如,本地的一个引用,要发送到另一台机器,就需要标记序列化,使那一台机器的虚拟机可以识别。
在hibernate中,不仅是复合主键,全部ORM的实体类,都要实现序列化。
标记为序列化后,可以将其写入到流里面,使别处的虚拟机可以识别。
比如,本地的一个引用,要发送到另一台机器,就需要标记序列化,使那一台机器的虚拟机可以识别。
在hibernate中,不仅是复合主键,全部ORM的实体类,都要实现序列化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个方法public Object get(Class clazz,Serializable id);
就是根据id查对象
就是根据id查对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询