Hibernate / Hibernate 7 Basics Interview Questions
What are the key removed APIs in Hibernate 7 and how do you migrate?
Hibernate 7 removes all APIs deprecated in Hibernate 6.x. Anything deprecated in 6.x is hard-deleted in 7.0 with no fallback.
| Removed | Replacement |
|---|---|
| session.save() | session.persist() |
| session.get() | session.find() |
| session.delete() | session.remove() |
| session.update() | session.merge() |
| session.saveOrUpdate() | session.merge() |
| session.lock(detached) | Load fresh with lock: session.find(Class, id, LockMode) |
| session.refresh(detached) | Only on managed entities |
| hibernate.allow_refresh_detached_entity | Removed entirely |
| Configuration.addClass() | Configuration.addAnnotatedClass() |
| hbm.xml mapping files | Annotation-based mapping or orm.xml |
| Ehcache 2.x integration | Ehcache 3.x, Caffeine, or Infinispan |
// Automated migration: // mvn rewrite:run -Drewrite.activeRecipes=org.openrewrite.hibernate.MigrateToHibernate70 // Manual: detached entity handling // BEFORE: session.update(detachedOrder); // REMOVED! detachedOrder.setStatus("DONE"); // AFTER: Order managed = session.merge(detachedOrder); managed.setStatus("DONE");
More Related questions...