名前をつけない場合―― ?1 ?2 ?3
名前を付ける場合―― :名前
select x from MyDataEntity x where x.id = ?1
select x from MyDataEntity x where x.id = :名前
entity.createNamedQuery( クエリー名 ).setParameter( 指定 , 値 );
select x from MyDataEntity x where x.id = ?1
select x from MyDataEntity x where x.id = :id_value
変数 = entity.createNamedQuery( クエリー名 ).setParameter( 1, 0 );
変数 = entity.createNamedQuery( クエリー名 ).setParameter( "id_value", 0 );
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
// ※MyDataEntityクラスのアノテーション
import javax.persistence.NamedQuery;
@NamedQuery(
name="findEntityNameLike",
query="select d from MyDataEntity d where d.name like :find"
)
// ※サーブレット側のdoGet
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
EntityManager manager = factory.createEntityManager();
String p = request.getParameter("p");
Query query = manager.createNamedQuery("findEntityNameLike")
.setParameter("find", p);
List list = query.getResultList();
request.setAttribute("list", list);
RequestDispatcher dispatcher = request.getRequestDispatcher("index.jsp");
dispatcher.forward(request,response);
}
| << 前へ | 次へ >> |