EntityManager manager = factory.createEntityManager();まず最初に、エンティティマネージャを用意します。これは、EntityManagerFactoryの「createEntityManager」メソッドを呼び出します。
Query query = manager.createQuery(……クエリー文……);EntityManagerクラスの「createQuery」メソッドを使ってQueryインスタンスを作成します。引数には、SQLクエリー文のようなものをテキストとして指定します。「ようなもの」というのは、正確にはSQLのクエリー文そのものではないからです。
List 変数 = query.getResultList();Queryの「getResultList」メソッドを呼び出すことで、クエリーの実行で得られるレコードを、エンティティのListとして取得します。
Object 変数 query.getSingleResult();複数のエンティティをまとめて取り出す場合の他に、「最初のエンティティを取り出す」ということもよくあります。この場合は、Queryの「getSingleResult」メソッドを使います。これにより、最初のエンティティだけが取り出されます。getResultListとあわせて覚えておくと良いでしょう。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
// 前回作成したサーブレットのdoGetメソッド
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String id_str = request.getParameter("id");
int id = 0;
try {
id = Integer.parseInt(id_str);
} catch(NumberFormatException e){
e.printStackTrace();
}
EntityManager manager = factory.createEntityManager();
MyDataEntity entity = manager.find(MyDataEntity.class, id);
request.setAttribute("entity", entity);
RequestDispatcher dispatcher = request.getRequestDispatcher("index.jsp");
dispatcher.forward(request,response);
}
| << 前へ | 次へ >> |