即使有数据,JPQL也没有返回结果

即使有数据,JPQL也没有返回结果

问题描述:

在弹簧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

您正在寻找“状态”而不是变量状态所持有的值。您的setParameter调用应该是

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

谢谢@Eelke,就是这个问题。 –