Hibernate小结

一、get和load的区别

  1). 使用get方法获取持久化对象时,首先找session缓存(Hibernate一级缓存)是否有该对象,如果有,则获取该对象;如果没有,就从数据库去取。如果数据库中没有,返回null;

  2) load方法:同样先在session缓存查找是否有该对象,如果找不到则在sessionfactory缓存(Hibernate二级缓存)查找,再找不到则从数据库去取。如果数据库没有,则抛出ObjectNotFoundException(在访问该对象的非主键属性时抛出,不是在创建对象时抛出)

二、复合主键

 1).复合主键必须是一个实现Serializable接口的类(POJO实体类不必实现此类,但建议实现) ,且需要重写equals和hashCode方法;

 2). 复合主键映射文件和composite-id表示

猜你喜欢

转载自jiehao.iteye.com/blog/2102257
今日推荐