码迷,mamicode.com
首页 > 编程语言 > 详细

spring-data-jpa中findOne与getOne的区别

时间:2014-10-23 19:25:01      阅读:1403      评论:0      收藏:0      [点我收藏+]

标签:style   http   color   io   os   ar   java   sp   2014   

项目中用到了spring-data-jpa,今天在写一个update方法的时候报了个空指针,看了看是因为一个对象中的关联没有取出来,我用的是getOne取得这个对象,加断点看以一下这个对象是个hibernate的代理对象,而不是实体,里面基本没有值。

bubuko.com,布布扣

然后我又换成findOne试了一下,断点查看这个取出来的对象,这个对象是实体,关联也有。

bubuko.com,布布扣


findOne与getOne的注释中也有些帮助

/**
     * Retrieves an entity by its id.
     * 
     * @param id must not be {@literal null}.
     * @return the entity with the given id or {@literal null} if none found
     * @throws IllegalArgumentException if {@code id} is {@literal null}
     */
    T findOne(ID id);
/**
     * Returns a reference to the entity with the given identifier.
     * 
     * @param id must not be {@literal null}.
     * @return a reference to the entity with the given identifier.
     * @see EntityManager#getReference(Class, Object)
     */
    T getOne(ID id);

注意getOne是“Returns a reference

spring-data-jpa中findOne与getOne的区别

标签:style   http   color   io   os   ar   java   sp   2014   

原文地址:http://my.oschina.net/since1986/blog/336750

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!