実現したいこと:下の画像のように部分検索をする
Queryを使ってDBのデータを取得する
![
現状:エラーになる
org.hibernate.exception.SQLGrammarException: could not extract ResultSet
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
@SuppressWarnings("unchecked") public List<Kakeibo> searchAll(String date,String koumoku, int kingakufrom, int kingakuto, String syousai, String bikou){ //省略 List<Kakeibo> result=dao.getAll(); List<Kakeibo> singleresult=entityManager.createQuery("from Kakeibo where koumoku="+koumoku).getResultList(); //エラーになる return singleresult; }
DAOインターフェイス
1public interface KakeiboDao<T> extends Serializable { 2 public List<T> getAll(); 3 4}
DAO実装クラス
1@Repository 2public class KakeiboDaoImpl implements KakeiboDao<Kakeibo> { 3 private static final long serialVersionUID=1L; 4 private EntityManager entityManager; 5 6 public KakeiboDaoImpl() { 7 super(); 8 } 9 public KakeiboDaoImpl(EntityManager manager) { 10 this(); 11 entityManager=manager; 12 } 13 @Override 14 public List<Kakeibo> getAll() { 15 Query query =entityManager.createQuery("from Kakeibo"); 16 @SuppressWarnings("unchecked") 17 List<Kakeibo> list=query.getResultList(); 18 entityManager.close(); 19 return list; 20 } 21}
回答2件
あなたの回答
tips
プレビュー