欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringSide3 HibernateDao中get()的返回

程序员文章站 2022-07-03 23:23:24
...
春天边边,今天被误导,在此记录在侧!

起因:接收一个用SpringSide开发的项目,今天在后台调用如下代码:

userGroup = userGroupDao.get(id);

其中:

public class UserGroupDao extends HibernateDao<UserGroup, Integer>


满心以为当如果从DB中没有检索到对应条件的记录则返回null,但是null后续的业务一直进不去。从google上的结果都说检索结果为空时get()返回null,load()返回一个代理对象,怎么我用起来结果就不对了呢?debug时发现userGroup中多了个handler属性,其余属性皆为null,对handler没有敏感,查来查去找不到问题原因,无奈直接查看引用的jar包,顿时天雷滚滚~~
请看jar中get()方法的定义:

public Object get(Serializable id) {
Assert.notNull(id, "id不能为空");
return getSession().load(entityClass, id);
}

什么get()\load(),一样货色!
哎,误人误人啊,特此记录!