JDBC makes you write the SQL and map results by hand, while Hibernate maps objects to tables and writes the SQL for you. JDBC is Java's low-level API for running SQL. Hibernate is an object-relational mapping (ORM) framework built on top of it.
Aspect
JDBC
Hibernate
Code complexity
More boilerplate code
Minimal code required
Database dependency
Database-specific SQL
Database-independent HQL
Object mapping
Manual conversion
Automatic ORM
Caching
No built-in caching
Multi-level caching
Performance
Faster for simple operations
Better for complex applications
Learning curve
Easier to learn
Steeper learning curve
JDBC gives you full control over each statement and has no mapping overhead, so it suits small tools and hand-tuned queries. Hibernate saves the most work in an application with a large domain model and many related entities.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.