本文共 490 字,大约阅读时间需要 1 分钟。
与延迟加载相对的是,在获取Entity对象的引用的同时,加载Entity对象的数据。
对于Hibernate的Native API,示例如下:
Person person = session.get( Person.class, personId );或者
Person person = session.byId( Person.class ).load( personId );对于Hibernate的JPA API,示例如下:
Person person = entityManager.find( Person.class, personId );无论使用哪组API,如果标识符为persionId的Person对象在数据库中不存在,那么将返回null。
补充:org.hibernate.Session的load()、get()方法异同
相同点:都是通过标识符查找持久化的数据,操作成功返回persistent状态的Entity对象
不同点: load() 往往用于延迟加载 如果没有找到匹配的数据将抛出运行时异常 get() 如果没有找到匹配的数据将返回null
转载地址:http://filai.baihongyu.com/