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

原创
2014/10/23 18:23
阅读数 1W

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

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


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

展开阅读全文
打赏
0
10 收藏
分享
加载中
since1986博主

引用来自“palmstrive”的评论

请问 您是什么版本的ubuntu?idea是什么字?呀
Ubuntu 14.04.1 LTS 64bit ideaIU-13.1.5.tar.gz
2014/10/25 08:06
回复
举报
请问 您是什么版本的ubuntu?idea是什么字?呀
2014/10/24 08:36
回复
举报
更多评论
打赏
2 评论
10 收藏
0
分享
返回顶部
顶部