※当サイトの記事には、広告・プロモーションが含まれます。

Spring FrameworkはORM(Object Relational Mapping)としてJPAを推奨しているらしい...

www.itmedia.co.jp

⇧ 対象が欧州というのは、

www.jetro.go.jp

⇧ 政策が関係してるんかな?

何にせよ、スキル教育を受けることができるなんて羨ましいですな。

こうして、また、技術の学習のモチベーションが下がるのであった...

Spring FrameworkはORM(Object Relational Mapping)としてJPAを推奨しているらしい...

Spring Frameworkの公式のドキュメントによりますと、

spring.pleiades.io

⇧ とあり、

Spring Framework は、Java Persistence APIJPA)との統合をサポートし、リソース管理、データアクセスオブジェクト(DAO)の実装、トランザクション戦略のためのネイティブ Hibernate をサポートします。例: Hibernate には、多くの典型的な Hibernate 統合の課題に対処するいくつかの便利な IoC 機能を備えたファーストクラスのサポートがあります。依存性注入を介して、OR(オブジェクトリレーショナル)マッピングツールでサポートされているすべての機能を構成できます。Spring のリソースおよびトランザクション管理に参加でき、Spring の一般的なトランザクションおよび DAO 例外階層に準拠しています。推奨される統合スタイルは、プレーンな Hibernate または JPA API に対して DAO をコーディングすることです。

とのこと。

ちなみに、「JPA」は、

jakarta.ee

Jakarta Persistence defines a standard for management of persistence and object/relational mapping in Java(R) environments.

https://jakarta.ee/specifications/persistence/

1. Introduction

This document is the specification of the Jakarta API for the management of persistence and object/relational mapping with Jakarta EE and Java SE. The technical objective of this work is to provide an object/relational mapping facility for the Java application developer using a Java domain model to manage a relational database.

https://jakarta.ee/specifications/persistence/3.2/jakarta-persistence-spec-3.2-m1

1.1. Expert Group

The Jakarta Persistence Specification is based on Java Persistence (JPA) 2.2, whose work was conducted as part of JSR 338 under the Java Community Process Program.

https://jakarta.ee/specifications/persistence/3.2/jakarta-persistence-spec-3.2-m1

⇧とあるように、仕様も策定されていて、Javaの標準APIにもなってしまっているんよね...

う~む、JJUG(Japan Java User Group)の開催していた勉強会とかだと、「ORM(Object Relational Mapping)」のライブラリとして「JPA」は忌避されてる印象が強かったのだけど...

登壇者の方への質問の回答で『選択肢としてJPAは無い。MyBatisとかになるんじゃないかな。』的な回答を頂いたから、鮮明に記憶されてるのだけど...

データベースとのやり取りを担う部分なので、後で変更とかし辛いからして、最初の選択が重要だと思われるのだけど、結局のところ、どれを使うべきなのかハッキリしませんな...

Spring Framework以外のJava向けのフレームワークでは、「ORM(Object Relational Mapping)」のライブラリを利用する場合に、どのライブラリを推奨してるんかね?

学習コストもかかるから、あれもこれもと選択肢を広げたくないんよな...

毎度モヤモヤ感が半端ない...

今回はこのへんで。