尽管有数据

时间:2017-10-14 04:18:59

标签: java spring hibernate jpa h2

在我的春天JPA和H2 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');

用于访问具有状态(第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

感激!

1 个答案:

答案 0 :(得分:1)

您正在搜索&#34;状态&#34;不是变量状态所持有的值。你的setParameter调用应该是

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