2017-10-14 24 views
0

私の春にはH2データベースでは現在DBに値がありませんが、DBには値があります。JPQLは結果がありませんが、データはありますが、

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のエンティティコードは以下の通りである:

私のDBの値を有します

@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

変数statusが保持する値ではなく、 "status"を検索しています。あなたのsetParameter呼び出しは

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

ありがとう@Eelke、それは問題でした。 –

関連する問題