2016-07-22 9 views
0

私はSpring Bootアプリケーションを使用してオンラインチャットアプリケーションを作成しています。私は私のUserDao.javaクラスからisAdminがtrueの場合にのみオンラインユーザーを表示します。

コードスニペット

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

コントローラはすべて

@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; 
    } 
を取得するためのUserDao.javaメソッドを呼び出す次のコードですべてのオンラインユーザーを表示することができています

管理者が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に設定されているだけで、すべてのユーザーを取得することができます。

答えて

1

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

免責事項と可能なはずですが:コードをチェックしませんでした。

関連する問題