Hibernate / Hibernate 7 Basics Interview Questions
What is ORM and why is Hibernate used instead of writing raw JDBC?
ORM (Object-Relational Mapping) automatically maps Java objects to relational database tables, eliminating JDBC boilerplate. Hibernate is the most widely used Java ORM.
| Task | Raw JDBC | Hibernate |
|---|---|---|
| Query | Write SQL, iterate ResultSet, map columns | session.find(Order.class, id) or JPQL |
| Insert | PreparedStatement + executeUpdate() | session.persist(order) |
| Update | Write UPDATE SQL | Modify managed entity - Hibernate auto-detects |
| Relationships | Manual JOIN queries | @OneToMany, @ManyToOne - automatic |
| Caching | None | First-level + optional second-level cache |
| Portability | DB-specific SQL | Dialect abstracts DB differences |
// Raw JDBC (boilerplate): try (Connection c = ds.getConnection(); PreparedStatement ps = c.prepareStatement("SELECT * FROM products WHERE id=?")) { ps.setLong(1, id); ResultSet rs = ps.executeQuery(); // manually map columns to fields... } // Hibernate 7 (clean): try (Session s = sf.openSession()) { return s.find(Product.class, id); }
More Related questions...