findByExample 查询失败的解决方法

昨天用findByExample 来查询一个数据库

p.setAid(xxx) ,aid是主键

hibernateTemplate.findByNamedParam(p);

发现执行上面的语句,查询的结果始终为0

百思不得其解,后来无意中我直接hibernateTemplate.findByNamedParam(hql, paramNames, values);

这样就可以了。根据查询,这是没有任何问题的

那为何前面我直接使用一个实体p来查询却失败了呢

出现这个问题主要是因为,使用findByNamedParam需要遵守以下3个条件:

1,不能使用主键查询。

2,如果设置了关联属性也是不支持的。

3,如果这个实体是空,什么也没有,也是不支持的,即是相当于没有条件。



爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情Blog Img