Even when using JPA/Hibernate ORM, SQL migrations are essential:

  1. Version Control: Schema changes are tracked in version control alongside code
  2. Reproducible Deployments: Same schema across all environments (dev, staging, production)
  3. Production Safety: ddl-auto=create drops all data on startup - unacceptable in production
  4. Team Collaboration: All developers have identical database schemas
  5. Data Migrations: Handle data transformations, not just schema changes
  6. Rollback Capability: Can revert schema changes if needed
  7. Audit Trail: Complete history of all database changes