load()和get()的区别=========================
1.如果数据不存在,返回值
load() 抛出异常org.hibernate.ObjectNotFoundException
get() 返回null
2.加载时机
load() 懒加载,在使用到实体具体属性的时候才发出sql,实现原理是代理方式,继承了一个该实体的子类
get() 马上发出sql语句
主键生成策略==========================
uuid: Hibernate帮我们生成,效率上,比数据库自己生成更高,因为不用锁表等,但是由于生成的是字符串,所以查找效率低于数字
native: 由数据库自动生成,Oracle采用sequence,Mysql采用的是auto_increment
本文详细解析了Hibernate框架中load()与get()方法的区别,包括它们在数据不存在时的不同处理方式以及加载时机上的差异。同时,还探讨了主键生成策略的选择,如uuid和native的不同应用场景及优缺点。
485

被折叠的 条评论
为什么被折叠?



