タグ

javaとjpaに関するtarchanのブックマーク (12)

  • Querydslを触ってみる - Challenge Engineer Life !

    今のJava EE開発では、JPQLを書く際 動的クエリ(Dynamic Query) 名前付きクエリ(Named Query) を使うようにしていて、来、型のことなど考えるとCriteriaで書くべきだなんだろうな…と思いつつ、可読性や簡易性を優先して上記選択にしています。 ただ、どうしても動的クエリはStringBuilderなどでクエリをダラダラと連結することになって、わりとイケてないらしい…ですね。 ということで、前に@megascusさんがブログで紹介されていたQuerydslを思い出し、これから少し触っていこうかなと。 QuerydslでJPAが思ったよりも捗る 上記ブログ記事の中にあるサンプルコードや、公式サイトのチュートリアルに接頭辞「Q」が付いたEntityクラスみたいなものが出てくるので、なんなんだろあれ?と思ってたのですが、定義したEntityクラスをベースにQue

    Querydslを触ってみる - Challenge Engineer Life !
  • JPAで複合主キー・外部キー関連で諦めてしまったパターン - Challenge Engineer Life !

    以下のようなテーブル(とあるテーブルを抜粋してシンプルにしたもの)をJPAでEntityをNetBeansから自動生成して、デプロイしようとしたらエラーとなりました。 Caused by: Exception [EclipseLink-7220] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.ValidationException Exception Description: The @JoinColumns on the annotated element [field hogeEntity] from the entity class [class jp.co.hoge.entity.Foo] is incomplete. When the sour

    JPAで複合主キー・外部キー関連で諦めてしまったパターン - Challenge Engineer Life !
  • JPQL速かった!〜JPAクエリ表現ごとのパフォーマンス比較 その2 - Dev3TechHack

    前エントリで、NativeQuery・JPQL・CriteriaAPIのどれが一番速いのかパフォーマンス比較を行い、NativeQuery悪くないじゃん、と結論づけました。そして、JavaEE AdventCalendar 2013を取りまとめて頂いた@megascusさんや、このネタを書く発端となった@yoshioteradaさんを始めとする多くの方々にコメントを頂きました。ありがとうございました。 その中で、JPQLをNamedQueryで宣言しておくと、起動時にプリコンパイルされるのでパフォーマンスが向上する、との情報を頂いたので、再実験してみました。 今回使用したソースはこちら 前回との差分を簡単に振り返っておくと、まず、JPQL文をfindProductという名前をつけて、EntityクラスにNamedQueryとして宣言しました。 @Entity @Table(name="pr

    JPQL速かった!〜JPAクエリ表現ごとのパフォーマンス比較 その2 - Dev3TechHack
  • JPA2.1でエンティティからインデックスを自動生成する - 水まんじゅう2

    ということで、やっとこさJPA2.1を触れましたよ。 最初に触ったのはJPA2.1から入った新機能@Index。 Entityからインデックスを自動生成できるという代物。 HibernateやらEclipseLinkでは実装されていたけれども、JPAでは仕様化されておらず、JPA単体では使用ができませんでした。 RDBを使用する上でインデックスは必要不可欠なものなのだけれども、JPAで仕様として定められていないため、可搬性を考えてEntityからテーブルを作成するようにしても、なぜかインデックスの作成だけはSQL叩かなければいけないという自体からは逃れられるように。 非常にありがたい。 @Entity @Table(indexes = @Index(columnList = "message1,message2")) public class NewEntity implements Se

    JPA2.1でエンティティからインデックスを自動生成する - 水まんじゅう2
  • Java Persistence API (JPA) 実践入門 - ひだまりソケットは壊れない

    この記事は Java EE Advent Calendar 2013 の 24 日目の記事です。 昨日は nabedge さんの 「JAX-RSのビューとしてMixer2を使ってみる」 でした。 明日は eller86 さんの 「ウェブアプリケーションサーバでよくあるクラスローダのトラブル」 です! 概要 これから Java Persistence API (JPA) を使ってみようとしている人向けの、JPA の簡単な使い方や IDE の機能の紹介などの話です。 私自身、最近 JPA を使い始めたのですが、日語の実践的な入門記事みたいなのが見当たらなくて苦労した (JPA の概念の説明記事は結構あって助かったのですが) ので、少しでも参考になればと思います。 IDE 関係の話は Eclipse ユーザー向けの説明になりますが、NetBeans でもだいたい似たようなことができるはずです。

    Java Persistence API (JPA) 実践入門 - ひだまりソケットは壊れない
  • JavaEE 7 JPA 2.1の新機能ストアドプロシージャ - しんさんの出張所 はてなブログ編

    JPA 2.1ではついにストアドプロシージャも標準で使えるようになった。 今までは実装依存のコードで使ってはいたが。 今回もストアドを簡単にJavaのコードで作れるDerbyのストアドで。ストアドになるともう組み込みモードだと意味がないレベルだけど。 引数に文字列、戻り値に文字列を渡すストアドの設定をする。コード全部見たほうが早いと思うので一気にのせる。Derbyのoutなどは配列を使っているのが注意する点か。引数で渡して戻り値を複数返す方法ということで割り切り方としてはまぁいいのだろう。 public class DerbyEmbedded3 { //ストアドの実装 public static void hello(String in1, String[] out1) { out1[0] = "Hello " + in1; } //main実行 public static void ma

    JavaEE 7 JPA 2.1の新機能ストアドプロシージャ - しんさんの出張所 はてなブログ編
  • OTN Japan マニュアル

    お探しのものを見つけるために、以下の項目を試してみてください。 キーワード検索のスペルを確認してください。 入力したキーワードの同義語を使用してください。たとえば、「ソフトウェア」の代わりに「アプリケーション」を試してみてください。 新しい検索を開始してください。

    OTN Japan マニュアル
  • はじめての JavaFX エンタープライズ・アプリケーション : JavaFX と JPA で実装するアプリケーション

    はじめての JavaFX エンタープライズ・アプリケーション : JavaFX と JPA で実装するアプリケーション 2012年5月24日 at 8:26 午後 3件のコメント 日は少しだけ JavaFX を触ってみました。正直 JavaFX は櫻庭大先生や、関谷さん、他の Embedded チームの皆様に助けて頂いているので、私自身あまり JavaFX に触っておらず自信もないのですが、今日は、JavaFX から JPA を使って DB に接続するクライアント・サーバのアプリケーションの作成してみました。 開発環境: JDK 1.7 (Mac OSX 1.7.0_04) NetBeans 7.1.1 or later (Mac OSX 1.7.0_04) JavaDB (今回は GlassFish に付属の JavaDB を使用しました) 必要なライブラリ: eclipselink-

    はじめての JavaFX エンタープライズ・アプリケーション : JavaFX と JPA で実装するアプリケーション
  • rio's blog EJB3.0 の勉強 (11) JPQL (Java Persistence Query Language)

    おいでいただきありがとうございます。このブログでは、ソフトウェア開発や音楽(特にB'z)、車の事などを主にてきと〜に書いていく予定です。Rio's Laboratory (http://homepage3.nifty.com/rio_i/lab/) にて、いくつか文書とフリーソフトウェアを公開してます。 これまでの JPA 関連サンプルの DAO では、Entity の一覧を取得するために public List list() { Query query = em.createQuery("SELECT p FROM Person p"); return query.getResultList(); } の様なメソッドを用意していました。このメソッド内の "SELECT p FROM Person p" という SQL の様な記述は、JPQL (Java Persistence

  • はじめての Java Persistence API

    はじめての Java Persistence API 2011年12月19日 at 2:03 午後 2件のコメント 今日は、Java Advent カレンダーの一貫で 12/19 分のエントリを記載します。昨日のなぎせさんに続き掲載します。また明日は私の盟友である岡崎さんです。 先日、なぎせさんより、「ProxyパターンとProxyクラスと黒魔術」と題してSQL の事を取り上げていただきました。また私自身、先日岡山のイベントで JPA について登壇したばかりなので、今日は DB つながりということで JPA (Java Persistence API) について岡山の資料を利用しながらご紹介します。 岡山の発表資料の全部はこちらです。 Java でデータベース (DB) 接続をする際、Java で一番最初に DB 接続をサポートした事から、ながく JDBC が利用されてきました。その後、J

    はじめての Java Persistence API
  • JPAをスタンドアローンなJava5アプリケーションで使う方法

    Java Persistence API (JPA)をスタンドアローンなJava5アプリケーションから使ってみる。JPA実装にはHibernateを利用する。 インストール HibernateのウェブページからHibernate Core、Hibernate-annotations、Hibernate-entitymanagerをダウンロードし、依存ライブラリと共にダウンロードしたjarにクラスパスを通す。 Persistence unitの定義 最初にPersistence unitを定義する。一つのPersistence unitは一つのデータベース(データソース?)に対応するようだ。 以下のxmlを作成し、persistence.xmlと言う名前でクラスパスの通ったフォルダの下のMETA-INFフォルダに保存する。 <persistence> <persistence-unit na

  • DB操作の“壁”を壊すJPAが起こした「赤壁の戦い」

    DB操作の“壁”を壊すJPAが起こした「赤壁の戦い」:現場から学ぶWebアプリ開発のトラブルハック(13)(1/2 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) O/Rマッピングツールは、上手に使えば開発効率を上げることができる、便利なツールです。しかし、データベース(以下、DB)アクセスを隠ぺいしてしまうため、下手に利用するとトラブルの温床になりかねません。稿では、Java EE 5で採用された標準のDB永続化APIである「JPA(Java Persistence API)」による“悲劇”をお送りします。 「“トラブルハッカー”は神速を尊ぶ」 プルルル、プルルル、午前2時の深夜、不吉な電

    DB操作の“壁”を壊すJPAが起こした「赤壁の戦い」
  • 1