gpt4 book ai didi

java - 仅当 isAdmin 为 true 时才显示在线用户

转载 作者:行者123 更新时间:2023-11-29 11:23:55 26 4
gpt4 key购买 nike

我正在使用 Spring Boot 应用程序创建一个在线聊天应用程序。我可以使用以下代码显示所有在线用户

来 self 的 UserDao.java 类的代码片段

public List getAll() {
return getSession().createQuery("from User").list();
}

Controller 调用 UserDao.java 方法来检索所有内容

@ResponseBody
@RequestMapping(value = "/get-all-users", method = RequestMethod.GET)
public List<User> getAllUsers() {
try {
return _userDao.getAll();
} catch (Exception e) {
logger.error("Exception in fetching users: ", e.getStackTrace());
}
return null;
}

有没有办法仅当 admin 设置为 true 时才能显示所有用户。

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;

public User() {
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public Long getTimestamp() {
return timestamp;
}

public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}


public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

/*
* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object obj) {

if (this == obj) {
return true;
}

if (this.id == null || obj == null || !(this.getClass().equals(obj.getClass()))) {
return false;
}

User that = (User) obj;

return this.id.equals(that.getId());
}

/*
* (non-Javadoc)
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
return id == null ? 0 : id.hashCode();
}

public boolean isAdmin() {
return isAdmin;
}

public void setAdmin(boolean isAdmin) {
this.isAdmin = isAdmin;
}

请问如何仅在 isAdmin 设置为 true 时检索所有用户,而不是仅显示所有用户。

最佳答案

应该可以使用

public List getAll() {
return getSession().createQuery("SELECT u FROM User u WHERE u.isAdmin = true").list();
}

免责声明:未检查代码。

关于java - 仅当 isAdmin 为 true 时才显示在线用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38529401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com