即使有数据,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
}
赞赏!!!
答
您正在寻找“状态”而不是变量状态所持有的值。您的setParameter调用应该是
query.setParameter("someSymbol", "%" + status + "%");
+0
谢谢@Eelke,就是这个问题。 –
您从不使用'status'参数。 – Oleg