Skip to Content
Spring Boot:立ち上げて実行する
book

Spring Boot:立ち上げて実行する

by Mark Heckler
March 2025
Beginner to intermediate
328 pages
5h 36m
Japanese
O'Reilly Media, Inc.
Content preview from Spring Boot:立ち上げて実行する

第6章. データを本当に掘り下げる

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

データは、その構造や他のデータとの関係、取り扱い、保存、検索のオプション、適用可能なさまざまな標準、データベース・プロバイダーやメカニズムなど、考慮すべきことがたくさんあり、複雑なトピックとなりうる。データは、開発者がキャリアの初期や新しいツールチェーンを学ぶ際に触れる、開発における最も複雑な側面かもしれない。

何らかの形でデータがなければ、ほとんどすべてのアプリケーションは意味をなさないからだ。データをストアしたり、検索したり、関連付けたりすることなしに、価値を提供するアプリケーションはほとんどない。

ほぼすべてのアプリケーションの価値を支えるものとして、データはデータベース・プロバイダーやプラットフォーム・ベンダーの多大な技術革新を引き寄せてきた。しかし、多くの場合、複雑さが残っている。結局のところ、データは非常に深くて広いトピックなのだ。

Spring Dataの登場だ。Spring Dataの使命は、"データストアの特殊化を保ちつつ、データアクセスのための使い慣れた一貫性のあるSpringベースのプログラミングモデルを提供すること "である。データベースエンジンやプラットフォームに関係なく、Spring Dataのゴールは、開発者のデータアクセスを可能な限りシンプルかつ強力にすることだ。

この章では、さまざまな業界標準や主要なデータベースエンジンを使ってデータの保存と検索を定義する方法と、Spring Bootを介して、最も合理的で強力な方法でそれらを使用できるようにするSpring Dataプロジェクトと機能を示す。

エンティティの定義

データを扱う場合、ほぼすべてのケースで何らかのドメイン・エンティティが関わっている。それが請求書であれ、自動車であれ、あるいはまったく別のものであれ、データが無関係な性質の集まりとして扱われることはほとんどない。必然的に、私たちが有用なデータと考えるのは、意味のある全体を構成する要素のまとまりである。データであれ実生活であれ、自動車が有用な概念となるのは、それが唯一無二の、完全に属性化されたものである場合に限られる。

Spring Dataは、Spring Bootアプリケーションが使用するために、様々な抽象化レベルでいくつかの異なるメカニズムとデータアクセスオプションを提供する。開発者がどの抽象化レベルのユースケースを選択するかにかかわらず、最初のステップは、該当するデータを処理するために使用するドメインクラスを定義することである。

ドメイン駆動設計(DDD)の完全な探求は本書の範囲を超えているが、本章とそれ以降の章で構築されるサンプルアプリケーションに適用可能なドメインクラスを定義するための基礎として、この概念を使用する。DDDの完全な探求については、Eric Evansのこのトピックに関する代表的な著作であるDomain-Driven Designを読者に紹介したい:Tackling Complexity in the Heart of Software"を参照されたい。

ざっと説明すると、ドメインクラスは、他のデータとは独立して関連性と重要性を持つ主要なドメインエンティティをカプセル化する。これは、他のドメイン・エンティティに関係しないという意味ではなく、他のエンティティに関連付けられていない場合でも、単独で存在し、単位としての意味を持つことができるという意味である。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

実用 Git 第3版

実用 Git 第3版

Prem Kumar Ponuthorai, Jon Loeliger, 萬谷 暢崇, 長尾 高弘
Javaによる関数型プログラミング ―Java 8ラムダ式とStream

Javaによる関数型プログラミング ―Java 8ラムダ式とStream

Venkat Subramaniam, 株式会社プログラミングシステム社
Java 開発者向け DevOps ツール

Java 開発者向け DevOps ツール

Stephen Chin, Melissa McKay, Ixchel Ruiz, Baruch Sadogursky

Publisher Resources

ISBN: 9798341626911