今天在做权限管理时遇到一个问题.从角色中获取该角色的所有权限的pids,再用forEach循环查询数据库,发现只会查询第一个pid值,似乎后面的都没有遍历
我将pids和遍历的Permission输出:
很显然Permision只输出了一次,下面的是下一轮循环role输出的,明明pids中有多条纪录 为什么这里只查询到一条呢
反复确认发现一个问题,
我获取的到的pids集合是List ,而我定义的pid是Long类型的
所以我就将List改为List
来查看结果
果然可以了,
结论
查询时尽量使用相同类型的数据去查,虽然在数据库中非字符串类型字段可以通过String类型查询,但是仅限于一次查询,循环遍历就可能会出现问题.