DB操作の“壁”を壊すJPAが起こした「赤壁の戦い」:現場から学ぶWebアプリ開発のトラブルハック(13)(1/2 ページ) 本連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) O/Rマッピングツールは、上手に使えば開発効率を上げることができる、便利なツールです。しかし、データベース(以下、DB)アクセスを隠ぺいしてしまうため、下手に利用するとトラブルの温床になりかねません。本稿では、Java EE 5で採用された標準のDB永続化APIである「JPA(Java Persistence API)」による“悲劇”をお送りします。 「“トラブルハッカー”は神速を尊ぶ」 プルルル、プルルル、午前2時の深夜、不吉な電
Summary This article is a response to the lack of information on the net about the performance differences among the 4 most well known Java Persistence API (JPA) implementations: Toplink Essentials, EclipseLink, Hibernate and OpenJPA. Besides results and conclusions, the full test code is also available in case you want to repeat the test yourself. I wrote a relatively simple program which execute
Java EE 5のリリースから2年以上の時間が経ち、次期仕様である「Java EE 6」は仕様策定状態ですが、あまりまとまった情報がありません。本稿ではJava EE 6に含まれる予定の技術を解説し、今後のエンタープライズ分野のJavaが進む方向について考察したいと思います。 はじめに エンタープライズアプリケーション向けのJavaの仕様「Java EE」の現行バージョンは「Java EE 5」です。このJava EE 5は、EJB 3.0を中心にDependency InjectionやPOJOを用いたO/Rマッピングなど、Java EE/J2EEの主流に対するオルタナティブとして出てきた技術を取り込んだ、従来のJava EE/J2EEから大きく変化したバージョンでした。 このJava EE 5のリリースから2年以上の時間が経ち、次期仕様である「Java EE 6」は仕様策定状態ですが
ブログのキーワード等で色々な人の考えを読んだ限りでは、Hibernateは複雑で使いにくいという人が多いし、JPAは微妙だと言う人が多いと感じています。それは間違いではないと思います。SQLを発行したいという目的に対しては、JPA・Hibernateは複雑すぎますし、SQLベースのORMに比べてSQL実行処理が使い易いわけではありません(特にJPAのSQLの使い辛さは致命的です)。CRUD処理ではSQLをほぼ自動発行できますが、そのレベルの処理ならば、今はどのORMも標準機能として持っています。 ではこれらのFWは要らないものなのでしょうか? 自分はたまたま仕事上でHibernateを複数回使い、その特長が最近になってようやく解ってきました。たしかに複雑で、初心者にとって敷居の高いFWです。Entityの状態変更とかLAZYロードとか、よく解ってないとすぐにハマってしまいます。 でもその一
JSR 317: Java Persistence 2.0 「JSR 317: Java Persistence 2.0」はJavaオブジェクトの永続化のためのAPIで、JSR 220: Enterprise JavaBeans 3.0(EJB 3.0)の一部として標準化されていたJava Persistence API 1.0(JPA 1.0)の後継バージョンにあたる。2.0からはEJBから完全に独立したJSRとして仕様の策定が進められており、EJBのアップデートであるEJB 3.1とともにJava EE 6で採用される予定。 ※ JSR 317の名称は「Java Persistence 2.0」だが、Early Draftでは従来と同じ「Java Persistence API 2.0」になっており、またスペックリードのLinda DeMichiel氏もJavaOneにおけるセッション
まったく価値がないわけではない。次のようにHAVING句で集計関数を利用してSELECT句でエンティティを返す場合は便利だ。 select d from Department d left outer join d.employees e group by d having count(e) > 5 Javaのコード上でもエンティティとして受け取ることができる。 String jpql = "select d from Department d left outer join d.employees e group by d having count(e) > 5"; List<Department> list = entityManager.createQuery(jpql).getResultList(); しかし、次のように集計関数をSELECT句に含める場合は便利とはいえない。Ja
* To take advantage of NetBeans IDE's Java EE 5 capabilities, use an application server that is fully compliant with the Java EE 5 specification, such as the GlassFish Application Server V2 UR2. If you are using a different server, consult the Release Notes and FAQs for known problems and workarounds. For detailed information about the supported servers and Java EE platform, see the Release Notes.
Ebean ORM Persistence Layer Ebean is an open-source (LGPL license) Java Object Relational Mapping tool. It uses JPA Annotations for mapping as it provides a simple API for fetching and saving object graphs. We spent the past few months working at AscInc.com as a game programmer. They are a small indie studio that develops games of all sortsn of games and VR experiences. We had the opportunity to w
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く