タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

JPAに関するfa11enprinceのブックマーク (5)

  • JPA説明会

    2. 業務システムにおける データアクセス層の重要性 大部分の業務システムの開発では、関係データベース( RDB )へのアクセスを行う必要がある データアクセス層の設計方針は以下のような要素に影響を与え、プロジェクトの成功・失敗を左右する最も重要な要因の一つである 性能 開発生産性 保守性 Java から RDB にアクセスするには、さまざまな手段があるので、業務要件に応じて適切な方法を選択することが重要である 3. さまざまなデータアクセス手法 SQL 中心アプローチ JDBC API (のラッパー)を使い、アプリケーションロジックから手続き的に検索、更新、挿入などの DML 文、あるいはストアドプロシージャを呼び出す 通常は上記ロジックを DAO クラス内部にカプセル化する テーブルの行データを受け渡すために「オブジェクト」を利用することはあるが、通常はロジックを持たないデータの入れ物

    JPA説明会
    fa11enprince
    fa11enprince 2018/02/25
    わかりやすい
  • JavaEE7をはじめよう(9) - JPA TIPS - エンタープライズギークス (Enterprise Geeks)

    今回はJPAのまとめとして、JPAをより良く使う方法や知っておくとよいトピックについて述べる。 1. テーブル定義とエンティティクラス定義の整合性を保つ仕組み 以前の記事で紹介したように、JPAではスキーマジェネレーションを用いて、エンティティクラスからDDLを生成して実行したり、任意のDDLを実行したりすることができる。必須というわけではないが、この仕組みは、データベース製品の違いを吸収したり、ユニットテストでテーブルのセットアップが簡単に行えたりできて便利である。 とはいえ、テーブル定義などは別のツールで管理することもあるだろう。 その場合でも、IDEの機能によりテーブルからエンティティを作成したり、エンティティからテーブルやDDLを作成したりすることが可能なので、これらの機能を使用し、データベースとエンティティの定義を二重管理しないようにするとよい。 アノテーションによるインデックス

    JavaEE7をはじめよう(9) - JPA TIPS - エンタープライズギークス (Enterprise Geeks)
  • JPA(hibernate)のテーブルジョインの罠(n+1問題) - Qiita

    今回はJPAを用いたテーブル結合について幾つか方法を記載します。 結合が2テーブル、3テーブルの場合それぞれ挙動が異なるので分けて記載します。 JPAを用いてテーブルJoinを実現する上で1:1, 1:n, n:n等の実装方法は、 他のブログでも多く記載されているのでここでは割愛します。 今回は下記のようなテーブルにおける実装パターンと罠をいくつか記載します。 1 テーブルのJOIN(2テーブルの場合) ・1:nのer図 上記のような1:nの関係を持ったテーブルの場合を想定します。entityを結合関係を含めて作成すると下記のようになります。 リレーションシップが単方向の場合childテーブル側では特に指定する必要はありません。 なおlombokを使用する場合join対象のフィールドに対して、 @ToString(exclude="")で指定しないと循環参照による例外が発生するので注意が必

    JPA(hibernate)のテーブルジョインの罠(n+1問題) - Qiita
  • JPA における一対多のリレーションシップ - EclipseLink - なんとなくな Developer のメモ

    EclipseLink 2.6.1 RC1 を使って JPA の一対多リレーションシップを下記 2通りで試し、SQL の実行内容などを調査してみました。 (a) 単方向: @OneToMany + @JoinColumn (b) 双方向: @OneToMany + @ManyToOne 簡単にまとめると次の通りです。 タイプ 使用したアノテーション one側のデータ登録SQL many側のデータ登録SQL (a) 単方向 @OneToMany, @JoinColumn insert insert, update (b) 双方向 @OneToMany, @ManyToOne insert insert (a) の場合に insert だけでは無く update も実施していました。 ソースは http://github.com/fits/try_samples/tree/master/blo

    JPA における一対多のリレーションシップ - EclipseLink - なんとなくな Developer のメモ
    fa11enprince
    fa11enprince 2017/09/04
    onetomanyは単方向もできてmappedbyを書いてたのはjoincolumnになる 地味に単方向知らなかった
  • JPA関連アノテーションの基本として-その1- - A Memorandum

    @Entityアノテーションと@Idアノテーション @Tableアノテーション @GeneratedValueアノテーション @Columnアノテーション @Transientアノテーション @MappedSuperclassアノテーション 次回は @Entityアノテーションと@Idアノテーション まずは、これが無いと始りません。@Entityは該当のクラスがエンティティであることを指定し、@Idはプライマリキーとなるプロパティかフィールドを指定します。 @Entity public class Customer { @Id private Long id; private String firstname; private String lastname; // ・・ } @Idは以下の様に指定することもできます。というかこっちの方が一般的か? @Id public Long getI

    JPA関連アノテーションの基本として-その1- - A Memorandum
  • 1