`

Hibernate小结

阅读更多

一、get和load的区别

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

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

 

二、复合主键

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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics