2017-10-14 122 views
0

在彈簧JPA中,H2 DB當前沒有返回任何值,即使DB中有值。即使有數據,JPQL也沒有返回結果

我DB具有值:

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'); 

用於與狀態(第三行)訪問所述值的DAO方法如下:

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(); 
} 

的待辦事項實體代碼如下:

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

//getters and setters 

}

請查看下面的圖片,以顯示調試圖像獲取狀態值爲'已完成' Debug

讚賞!!!

+0

您從不使用'status'參數。 – Oleg

回答

1

您正在尋找「狀態」而不是變量狀態所持有的值。您的setParameter調用應該是

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

謝謝@Eelke,就是這個問題。 –

相關問題