JDBC x JPA
É de extrema importância entender os conceitos e as diferenças entre JPA e JDBC para desenvolver com Java.
De forma concisa, JDBC (Java Database Connetion) é uma API built-in do Java, disponibilizada pela JDK. Essa API possibilita ao Java uma ferramenta de conexão com um determinado banco de dados, que através do Driver de conexão do respectivo SGBD utilizado, realiza essa conexão. Apenas através da API JDBC é possível implementar alguns métodos de gerenciamento do banco de dados, de forma menos simplificada. Um bom diagrama para esse processo de conexão com o JDBC seria: Java API (JDBC) => Driver => DB.
Já o JPA (Java Persistence API), surge como uma necessidade do mercado de padronizar a maneira de se implementar conexão e gerenciamento com bancos de dados. O JPA oferece interfaces que representam "contratos" ou "regras" de como implementar conexões e gerenciamento através de um mapeamento Objeto-Relacional (ORM).
Ou seja, ORMs como Hibernate e Sequelize, são apenas implementações de interfaces da JPA, que também oferecem funcionalidades adicionais!