一般に、Javaにおけるデータベース(RDBMS)へのアクセスには(代表的なものとして)下記の方法が使われます。
- JDBC
- HibernateやTopLink等のORMライブラリ
- Java Persistence API (JPA)
- Java Data Object (JDO)
JDBCはデータベースに接続し、SQLによるクエリを実行するためのAPIです。SQLは自分で書かなければいけません。
HibernaeやTopLink等のORMライブラリを利用すると、SQLを(あまり)意識することなくJavaのインスタンスをデータベースに保存できるようになります。ライブラリがSQLを自動生成・実行してくれるわけです。
JPAとJDOは「仕様」のため、様々な実装が存在します。JPAはRDBMSへの操作を抽象化するAPIです。HibernaeやTopLinkもJPAの実装として利用することができます。JDOは永続化そのものを抽象化するAPIで、RDMBS以外のデータベースも対象としています。
Springでは、これらを直接使うのではなく(直接使うこともできますが)、利用をサポートする仕組みが用意されています。例えば、JDBCの場合には、Spring Framework JDBCを使うことで、データベースの接続やトランザクション等を簡単に扱うことができます。
JPAを使う場合には、Spring Dataに含まれるプロジェクトであるSpring Data JPAを利用することで、ページング等を簡単に実現することができます。