SpringSide3 HibernateDao中get()的返回

在使用SpringSide框架开发的项目中,遇到在后台调用UserGroupDao.get(id)方法时,检索结果为空时get()方法返回null而非代理对象,详细分析并解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

春天边边,今天被误导,在此记录在侧!

起因:接收一个用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(),一样货色!
哎,误人误人啊,特此记录!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值