タグ

JPAに関するH_Yamaguchiのブックマーク (8)

  • HugeDomains.com

  • JPA2.0のタイプセーフCriteriaAPI感想とGoogle Collections Library - ひたすらプログラミング日記

    今までJPA2.0のCriteriaを試してみた感想とかそこらへんを書いていこうと思います。 結論から言うとCriteriaはJavaによるプログラミングを追求しているって感じじゃないのかなと*1。 ANDやORの使い方について この感想を書くにはGoogle Collections Libraryで提供されているとあるAPIの事を取り上げねばならないのでまずはそちらについて。 Google Collections Libraryにはいろんな機能があるのですが今回関係するのはPredicate、Predicates、Iterablesといったクラスです。これらを使うとJavaでクロージャーを使う感じでListの絞り込みとか出来るようになります*2。ちなみにこのやり方はNext Generation Java Programing Styleの3番目に紹介されているやり方です。例えば下記はE

    JPA2.0のタイプセーフCriteriaAPI感想とGoogle Collections Library - ひたすらプログラミング日記
  • JDBC、S2JDBC、S2Dao、JPA(Hibernate)、Domaのパフォーマンス比較 - taediumの日記

    データベースにH2を使ってCRUDのパフォーマンス比較をしてみました。それぞれ3回実行して真ん中の値を使っています。コードや使用しているライブラリはリポジトリにあります。 https://www.seasar.org/svn/doma/trunk/or-mapper-benchmark/ 10000件SELECT 529,419,874 (nanoTime) : DomaSelectOwnerTest 137,686,988 (nanoTime) : JdbcSelectOwnerTest 1,048,970,551 (nanoTime) : JpaSelectOwnerTest 303,612,949 (nanoTime) : S2DaoSelectOwnerTest 750,473,864 (nanoTime) : S2JdbcSelectOwnerTest 10000件INSERT(

    JDBC、S2JDBC、S2Dao、JPA(Hibernate)、Domaのパフォーマンス比較 - taediumの日記
    H_Yamaguchi
    H_Yamaguchi 2009/12/22
    JPA激しく遅いな。
  • JPA 2.0の新機能 悲観的ロックを試す - しんさんの出張所 はてなブログ編

    JPA1.0では楽観的ロックだけ仕様が定義されていた。実際は各プロバイダが独自にヒント等で悲観的ロックを用意していたのだが、それもやっと定義されたために安心して使うことが可能だ。 楽観的ロックはバージョン番号を用意し、トランザクションの開始直前に取得した番号を元に更新にしくというもの。もしそれが存在しない場合、すでに更新されたものとみなし、トランザクションを最初からリトライさせる。 たまに楽観的ロックのようにバージョン番号を利用した値を画面表示時にあらかじめ持っておくといった、アプリケーションでのロックをかけてるところも多いけど、それは楽観的ロックではなく、そういう仕様のアプリケーション。あくまでもトランザクションをどう整合性とるかというだけが楽観的ロックだ。 そもそも更新時にはどのみち行ロック等がかかるわけで。更新方法によってロックがかかる順番が変わることも多いため、デッドロックの可能性

    JPA 2.0の新機能 悲観的ロックを試す - しんさんの出張所 はてなブログ編
  • EclipseLink

    Comprehensive open-source Java persistence solution addressing relational, XML, and database web services. Try it today JPA Provides standards based Object-Relational persistence solution with additional support for many advanced features. EclipseLink JPA provides advanced support for leading relational databases and Java containers. View details » MOXy Enables Java developers to efficiently bind

  • 第3回 Java標準のO/Rマッピング機能「Java Persistence API」

    前回はEJB 3.0のインターセプタ機能を使ったセッションBeanとコンテナ管理によるトランザクションについて説明しました。今回はJava EE(Enterprise Edition)やJava SE(Standard Edition)におけるO/Rマッピングの標準になる「Java Persistence API」*1を紹介しましょう。 Java Persistence APIを使うメリットは大きく二つあります。一つ目は,少ないプログラム・コードでデータにアクセスできることです。Java Persistence APIは,Javaオブジェクトをデータベースに格納したり,データベースのデータをJavaオブジェクトへ変換したりする処理を自動化してくれます。したがって,データベース・アクセス用のAPIであるJDBCを直接使ったアプリケーションよりも少ないプログラム・コードでデータベースへのアクセ

    第3回 Java標準のO/Rマッピング機能「Java Persistence API」
  • OpenJPAをさらに調べる - しんさんの出張所 はてなブログ編

    GlassFish上で動かすJPA実装をまじめに乗り換えようと思うのでもうちょっと調べてみた。DBはPostgreSQL。 LAZYは問題なく動くか まったく問題なし。TopLinkと並んで安心して使える。 ID生成は @GeneratedValue(strategy=GenerationType.AUTO)はGenerationType.TABLEと同じ。 おそらくほとんどの場合、ID生成はGenerationType.IDENTITYだろう。 strategy=GenerationType.IDENTITYは当たり前だがidはinsertせず。 そしてその後 executing prepstmnt 27464544 SELECT CURRVAL('item_id_SEQ') となって値をシーケンスから取得している模様。これをidのプロパティへセットしているのだろう。 LAZY指定なしの

    OpenJPAをさらに調べる - しんさんの出張所 はてなブログ編
  • 第6回 OpenJPA 1.0.0 | gihyo.jp

    OpenJPAは、Java EE 5で導入されたEJB3.0(JSR220)のうち、Java Persistence API(JPA)を実装したオープンソースプロダクトです。2007年8月28日にバージョン1.0.0がリリースされました(1.0.0のアナウンス)。配布はApacheライセンスの下で行われています。 これが組み込まれているプロダクトには、Spring FrameworkやApache Geronimoがあります。Apache Geronimoは、2007年8月20日にリリースされたバージョン2.0.1がJava EE 5互換の認定を受けています(リリース時のアナウンス)。 また、OpenJPAは商用製品のBEA Kodoのベースにもなっています。というよりも、BEA KodoにおけるJPAの実装が2006年2月にApache Software Foundationに寄贈された

    第6回 OpenJPA 1.0.0 | gihyo.jp
  • 1