gpt4 book ai didi

java - 即使有数据,JPQL 也不返回结果

转载 作者:行者123 更新时间:2023-12-02 12:08:09 24 4
gpt4 key购买 nike

在我的带有 H2 DB 的 Spring JPA 中,即使数据库中有值,当前也不会返回任何值。

我的数据库有值:

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

访问状态值(第3行)的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();
}

ToDo实体代码如下:

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

//getters and setters

}

请找到下图来显示调试图像,该图像的状态值为“已完成” Debug

感谢!!!

最佳答案

您正在搜索“status”,而不是变量 status 所保存的值。您的 setParameter 调用应该是

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

关于java - 即使有数据,JPQL 也不返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46740823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com