トランザクションについては 「(8) Java Persistence API (JPA) を使ってみる」にて簡単に書きましたが、EJB3 に大分慣れてきたところでもう一度見てみたいと思います。また、トランザクション中に生じた例外によってトランザクションの状態がどうなるのかについて調べてみました。
[EJB3.0 の勉強 (12)トランザクションと例外(Application Exception/System Exception)について]の続きを読むFC2 Blog Ranking に参加してます。クリックよろしくお願いします!
これまでの JPA 関連サンプルの DAO では、Entity の一覧を取得するために
public Listlist() { Query query = em.createQuery("SELECT p FROM Person p"); return query.getResultList(); }
の様なメソッドを用意していました。このメソッド内の "SELECT p FROM Person p" という SQL の様な記述は、JPQL (Java Persistence Query Langauage) と呼びます。今回は、JPQL について簡単に概要をまとめたいと思います。詳細な仕様については「JSR220 Enterprise JavaBeans, Version 3.0 Java Persistence API」や他のページ等の資料をご覧ください。
[EJB3.0 の勉強 (11) JPQL (Java Persistence Query Language)]の続きを読むFC2 Blog Ranking に参加してます。クリックよろしくお願いします!
これまでは単一のプライマリキーを持つ Entity について書いてきましたが、複数の項目で一意にレコードが決まる(複合プライマリキー)場合もよくあると思います。今回は、JPA で複合プライマリキーを使ってみたいと思います。
[EJB3.0 の勉強 (10) JPA で複合プライマリキーを使ってみる]の続きを読むFC2 Blog Ranking に参加してます。クリックよろしくお願いします!
「(8) Java Persistence API (JPA) を使ってみる」では、JPA を使って単一テーブルへのアクセスを行ってみました。今回は、テーブル間のリレーション(1対多/多対1)について調べてみます。
[EJB3.0 の勉強 (9) JPA で 1対多/多対1 リレーションを表現してみる]の続きを読むFC2 Blog Ranking に参加してます。クリックよろしくお願いします!
今回から数回は、セッション Bean からのデータベースアクセスについて書こうと思います。
EJB3.0 では、データベースへの永続化を行う際に Java Persistence API (JPA) を使います。JPA は、オープンソース O/R マッピングフレームワークである Hibernate 等と同じ様な感覚で扱うことができる Java 標準 O/R マッピング API です。
JPA を使えば、JDBC + SQL による煩雑なコーディングをする必要が無いため、コーディング量がかなり削減できます。EJB 3.0 より前の EJB での Entity Bean よりもかなり簡単に利用することができます。
[EJB3.0 の勉強 (8) Java Persistence API (JPA) を使ってみる]の続きを読むFC2 Blog Ranking に参加してます。クリックよろしくお願いします!
久々の書き込みになってしまいました…今回は、EJB コンテナのセキュリティを確保すべく、ロールベースセキュリティの実現の仕方について書きます。
EJB では、あらかじめ指定しておいたロールのみがメソッドを実行できる様にアクセス制限をかけることができます。ロールは、ユーザおよびパスワードによって決定されます。EJB3.0 では、例によってアノテーションを使って指定することができます。
[EJB3.0 の勉強 (7) ロールベースセキュリティ]の続きを読むFC2 Blog Ranking に参加してます。クリックよろしくお願いします!
@EJB アノテーションは EJB のインスタンスを DI する際に使用しました。これに対して、@Resource というアノテーションを使うと、Java の基本型、および様々なリソース関連のインスタンスを DI することができます。@Resource で DI 可能な型の一部(全ては調べきれていませんので…)を、アノテーションではなく ejb-jar.xml ファイルで記述する場合のタグ毎に分けて以下に掲載します。
[EJB3.0 の勉強 (6) @Resource による DI]の続きを読むFC2 Blog Ranking に参加してます。クリックよろしくお願いします!
DI(Dependency Injection) とは、あるクラスが動作に必要となるクラスを実行環境やライブラリが事前に設定してくれる機能のことを表します。@EJB アノテーションを使えば、必要なEJBクラスのインスタンスをコード内で明示的に new したり、EJB 用のFactory クラスを自作したりする必要がなくなります。
[EJB3.0 の勉強 (5) @EJB による DI (Dependency Injection)]の続きを読むFC2 Blog Ranking に参加してます。クリックよろしくお願いします!
ステートレス・セッション Bean およびステートフル・セッション Bean のライフサイクルは、大体以下の様になるみたいです。
インスタンスが生成されると、以下の処理後にメソッド実行可能状態となります。
一度インスタンス化されると、常時メソッド実行可能状態となります。リソースに余裕が無い等でアプリケーションサーバが破棄すべきと判断した場合に、@PreDestroy 指定されたメソッドが実行された上でインスタンスは破棄されます。
[EJB3.0 の勉強 (4) セッション Bean のライフサイクル]の続きを読むFC2 Blog Ranking に参加してます。クリックよろしくお願いします!
今回はステートフル・セッション Bean を作ってみます。ステートフル・セッション Bean とは、状態を保持するセッション Bean で、InitialContext によるルックアップや DI 等の度に新しいインスタンスが生成されます。サーブレットから複数のリクエストにまたがって Bean を使用する場合等において、保存しておいた Bean を使用することで状態を引き継ぐことができるため、ショッピングカート等の実装に使用することができると思います。
生成されたステートフル・セッション Bean は、明示的に削除メソッドを起動するか、タイムアウトが発生するまではアプリケーションサーバにてキャッシュされます。
[EJB3.0 の勉強 (3) ステートフル・セッション Bean を作ってみる]の続きを読むFC2 Blog Ranking に参加してます。クリックよろしくお願いします!
Author:いちのせ りょう
1974年北海道生まれ、育ちは沖縄/宮崎、で現在は東京在住のSEです。社会人10年目、未だにばりばり作ってます!Rio's Laboratory もよろしく…
性別:男性
車:MAZDA DEMIO
好きな音楽:B'z、The Yellow Monkey、Bon Jovi
好きなゲーム:MGS、Bio Hazard、Zeldaとか
やりたい事:F1観に行きたい、沖縄の海に潜りたい、空を飛びたい