2017-10-14 31 views
0

In meiner Quelle gibt JPA mit H2 DB momentan keine Werte zurück, obwohl Werte im DB vorhanden sind.JPQL gibt keine Ergebnisse zurück, obwohl Daten vorhanden sind

My DB hat Werte:

INSERT INTO public.ToDo values (1, 'Java', 'completed'); 
INSERT INTO public.ToDo values (2, '.NET', 'pending'); 
INSERT INTO public.ToDo values (3, 'Word', 'completed'); 
INSERT INTO public.ToDo values (4, 'PPT', 'pending'); 

Die DAO Verfahren für die Werte mit Status (3. Reihe) Zugriff ist wie folgt:

public List<ToDo> getItemsWithStatus(String status) { 
    TypedQuery<ToDo> query = em.createQuery(
      "SELECT u FROM ToDo u WHERE u.status LIKE :someSymbol ORDER BY 
    u.id", ToDo.class); 
    query.setParameter("someSymbol", "%status%"); 
    return query.getResultList(); 
} 

der ToDo Entität Code ist wie folgt:

@Entity 
@Table 
public class ToDo{ 
@Id 
private int id; 
@Column 
private String name; 
@Column 
private String status; 

//getters and setters 

}

Das folgende Bild zeigt das Debug-Image, das den Statuswert als 'abgeschlossen' erhält. Debug

Geschätzt !!!

+0

Sie verwenden nie den Parameter 'status'. – Oleg

Antwort

1

Sie suchen nach "Status" nicht nach dem Wert, der vom Status der Variablen gehalten wird. Ihr setParameter-Aufruf sollte

sein.
query.setParameter("someSymbol", "%" + status + "%"); 
+0

Danke @Eelke, das war das Problem. –

Verwandte Themen