日期:2014-05-16  浏览次数:20592 次

SpringSide3 HibernateDao中get()的返回
春天边边,今天被误导,在此记录在侧!

起因:接收一个用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(),一样货色!
哎,误人误人啊,特此记录!
1 楼 zyz251314 2012-05-09  
哥们  我也碰到该问题? 请问如何解决?