我正在使用Spring启动开发聊天系统。此时,我需要显示数据库中isAdmin
字段设置为false
的所有用户。
这是DAO类中getByAdmin的查询:
public User getByAdmin(boolean isAdmin) {
return (User) getSession().createQuery(
"from User where isAdmin = :isAdmin")
.setParameter("isAdmin", isAdmin);
}
在我的controller.java中,我调用上面的方法来检查admin是否设置为true:
@ResponseBody
@RequestMapping(value = "/get-all-users", method = RequestMethod.GET)
public List<User> getAllUsers() {
try {
boolean isAdmin = true;
if(_userDao.getByAdmin(isAdmin).equals(true))
{
return _userDao.getAll();
}
} catch (Exception e) {
logger.error("Exception in fetching users: ", e.getStackTrace());
}
return null;
}
这是我对Users.java的bean定义
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "userId")
private Long id;
@Column(nullable = false)
private String name;
@Column(unique = true, nullable = false)
private String email;
@Column(nullable = false)
private long timestamp;
@Column(nullable = true)
private boolean isAdmin;
这是我正在进行检查的地方,因此没有返回任何内容
try {
boolean isAdmin = true;
if(_userDao.getByAdmin(isAdmin).equals(true))
{
return _userDao.getAll();
}
如果我删除上述检查,我将能够看到所有用户
我的挑战是没有回复调用getAllUsers
方法。
请问我的逻辑有什么问题?
答案 0 :(得分:0)
if(_userDao.getByAdmin(isAdmin).equals(true))
您正在将User
与boolean
进行比较。可能你想检查一下:
if(_userDao.getByAdmin(isAdmin) != null)