2016-07-23 7 views
0

Ich entwickle ein Chat-System mit Spring-Boot. An dieser Stelle muss ich alle Benutzer anzeigen, deren isAdmin Feld auf false in der Datenbank festgelegt ist. Chat-Benutzer abrufen, wenn isAdmin auf true festgelegt ist

Dies ist die Abfrage für den getByAdmin in DAO Klasse:

public User getByAdmin(boolean isAdmin) { 
     return (User) getSession().createQuery(
       "from User where isAdmin = :isAdmin") 
       .setParameter("isAdmin", isAdmin); 
    } 

In meinem controller.java dies ist der Punkt, an dem ich das obige Verfahren nenne die Prüfung zu machen, wenn der Administrator auf true gesetzt ist:

@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; 
    } 

dies ist meine Bohne Definition für die Users.java

@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; 

diese I ist, wo ich machen die Prüfung so wurde nichts zurück

try { 
      boolean isAdmin = true; 
      if(_userDao.getByAdmin(isAdmin).equals(true)) 
      { 
      return _userDao.getAll(); 
      } 

wenn ich die oben Check entfernen ich in der Lage sein, alle Benutzer

Meine Herausforderung zu sehen ist, dass nichts zurückgegeben wurde getAllUsers Methode aufrufen.

Bitte was könnte mit meiner Logik falsch sein?

+0

Wie lautet der Endpunkt? Wie hast du verstanden, dass nichts zurückgekehrt ist? – Divers

+0

Überprüfen Sie, um meine Änderungen zu sehen – Learner

+0

, weil eine leere Liste zurückgegeben wurde, wobei ich Admin vom Back-End auf 0 gesetzt habe – Learner

Antwort

0
if(_userDao.getByAdmin(isAdmin).equals(true)) 

Sie vergleichen User mit boolean. Wahrscheinlich wollten Sie etwas überprüfen wie:

if(_userDao.getByAdmin(isAdmin) != null) 

?

+0

Immer noch leere Liste zurückgegeben. Wie kann ich sicher sein, dass mein Abfragekonstrukt in Ordnung ist? – Learner

+0

Gibt es eine Möglichkeit, mein Abfrageergebnis zu testen, bevor es verwendet wird? – Learner

+0

@Learner Verwenden Sie debuger – Divers

Verwandte Themen