プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Spring Framework
  • 【Spring Framework】Spring Dataについて
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Spring Framework】Spring Dataについて

05.06

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

Spring Dataとは?

データアクセスに関するSpringに用意されているフレームワークです。

Spring Dataの種類

どこにデータアクセスするかによって、いくつか種類が分かれます。

Spring Data JPA

Springで、JPAを利用して、データベースアクセスを行うためのライブラリです。

JPAとは?

Javaの純正の、ORマッピング(JavaでSQLを使いやすくした技術)の技術のことです。JPQLによるデータアクセスを提供します。

詳しくは下記の記事でも解説しています。

【Java】O/Rマッパーとは?

Spring Data MongoDB

非SQLであるMongoDBにアクセスするためのライブラリです。

Spring Data Hadoop

Hadoopを利用するためのライブラリです。

Spring Data JPAの概念

「Spring Data」の中でも、一番使われているのはリレーショナルDBを対象にした「Spring Data JPA」でしょう。JPQLによるデータアクセスや排他制御が通常のJPAに比べてアノテーションとかを使えば手軽にできるので格段に楽になっています。

JPAでは、データベースのデータを「エンティティ」という形で、オブジェクト化しています。

同時に、テーブルから取得されるデータも、エンティティのインスタンスとして扱われます。具体的には以下のようなクラスになります。

1
2
3
4
5
6
7
8
9
10
11
@Entity
@Table(name = 'user')
public class User {
  @Id
  @Column(name = "id")
  private String id;
 
  @Column(name = "name")
  private String name;
 
}

Repositoryインターフェースを作成し、アノテーションやメソッドを定義するだけでEntityの参照・更新を行えるようになる。

Repositoryインターフェースを継承して以下のようにRepositoryクラスを作成します。

1
2
3
public interface UserRepository extends JpaRepository<User, Integer> {
    User findByEmail(String email);
}

エンティティマネージャー

また、そのエンティティたちを管理する「エンティティマネージャー」という存在もいます。

Hibernate EntityManager等、世の中に色々なエンティティマネージャーが出回っています。

「Spring Data JPA」では、色々組み込めるようになっているので、自分の使いやすいものを探しましょう。

スポンサーリンク
  • 2018 05.06
  • miyabisan2
  • コメントを書く
  • Spring Framework
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 05.13

    【Spring Framework】AOP(アスペクト指向プログラミング)を「AspectJ」で実装してみる。

  2. 2018 05.06

    【Spring Framework】Spring MVCとは?

  3. 2018 05.13

    【Spring Framework】AOP(アスペクト指向プログラミング)を実装してみる。(設定ファイルから実装)

  4. 2018 05.19

    【Spring Boot】STSでSpring Bootプロジェクトを作ってみよう。

  5. 2018 05.20

    【Spring MVC】プロジェクトの作成及び、アプリの起動まで。

  6. 2018 05.19

    【Spring Boot】SpringBootの基本、javax.servlet.ServletException: Circular view path [~]: would dispatch back to the current handler URL [/~] again. が出て困った話。

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Spring Framework】Springのコア…

【Spring Framework】Springによる…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー