2 okaxina OKAXINA 于 2016.09.12 22:27 提问

hibernate load/get方法

如果一个持久化对象的标识属性设置为自动生成的。
那么,当我要获取一个实例时,我不知道id,该怎么办。
听说查询一般都是用这些方法。
我应该用别的方法吗?

1个回答

devmiao
devmiao   Ds   Rxr 2016.09.12 23:58
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Hibernate中的get方法和load方法有啥区别
1.执行get方法会立即加载对象,执行load不会立即加载,返回的是一个代理对象 下图是两个方法执行的结果,是相同的,这是因为c对象都被用到了 下图是执行get方法,没有用到c对象,但是却发送了sql语句 下图是load方法,没有用到c对象,也没有发送sql语句,懒加载 2.若数据库没有对应的记录,get返回null load方法抛出异常,因为代理对象没有与之
Hibernate中get和load方法的区别详解
1. 对于Hibernate的get方法,Hibernate会确认一下该id对应的数据是否存在,首先在session缓存中查找,然后在二级缓存中查找,还没有就查询数据库,数据库中没有就返回null。这个相对比较简单,也没有太大的争议。 2. Hibernate的load方法加载实体对象的时候,根据映射文件上类级别的lazy属性的配置(默认为true),分情况讨论: (1)若为true,则首先在
Hibernate中Session.get()方法和load()方法的详细比较
1、get()方法直接返回实体类,如果查不到数据则返回null。load()会 返回一个实体代理对象(当前这个对象可以自动转化为实体对象), 但当代理对象被调用时,如果没有数据不存在,就会抛出个 org.hibernate.ObjectNotFoundException异常 2.load先到缓存(session缓存/二级缓存)中去查,如果没有则返回一个 代理对象(不马上到DB中去
Hibernate Session对象load()方法和get()方法区别
(1)当记录不存在时候,get方法返回null,load方法产生异常(2)load方法可以返回实体的代理类,get方法则返回真是的实体类(3)load方法可以充分利用hibernate的内部缓存和二级缓存中的现有数据,而get方法只在内部缓存中查找数据,当没有在缓存中找到合适的数据时候,则生成SQL查询数据库,返回相应的实体对象 
Hibernate中get()方法和load()方法中参数id
        Serializable是序列化接口,基本数据类型都实现了此接口,如:Integer,Double,String等,放入一个Serializable类型的值作为主键,这样做的好处是,无论主键是自增长型的(如:int),还是String型的都可以获取到对象!         所以,在Hibernate中id的一般写法用的是new integer(id)
hibernate中session的load和get方法
session中load的get的关系一、load方法Configuration cfg = new AnnotationConfiguration(); SessionFactory sf = cfg.configure().buildSessionFactory(); Session session = sf.openSession();session.beginTransaction(); S
Hibernate中get() load()的区别
Hibernate中get() load()的区别 最近面试中遇到了关于hibernate中get()和load()两个方法的区别,就来简单的总结下,如果有哪里不对的地方欢迎指正。 一 从返回结果上首先要清楚一点的是get()和load()方法都是hibernate中session中获取数据对象两个方法,但1.1 get()方法 首先要清楚的是如果是get()方法访问数据,如果不成功的话
Hibernate中get和load方法
在Hibernate中,get和load方法都是根据id查询 下边详细说一下get和load的不同
Hibernate的get函数
1.        从方法调用到事件处理在hibernate当中,大部分操作最终都是转化为事件,然后由对应的事件处理函数来处理。而事件内部主要包含的就是对Session实例的引用<v:shapetypeid="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"path="m@4@5l@4@11@9@
Hibernate之load和get的区别
load和get都会可以起到从数据库中获取持久态数据的作用,但是还有些稍微的区别的。 参考下面的这个例子: @Test(expected = IllegalArgumentException.class) public void 延迟加载() throws Exception { // 启动 Session session = sessionFactory.openSe