# migration-5-to-7 Hibernate ORM **5.6.15.Final** (`org.hibernate:hibernate-core`, `javax.persistence`) against **7.4.14.Final** (`org.hibernate.orm:hibernate-core`, `jakarta.persistence`), on in-memory and file H2 2.4.240. Companion to the Hibernate 5 to 7 migration guide and cheat sheet on [ankurm.com](https://ankurm.com). | path | what it is | |---|---| | `h5/` | the "before" side: the same probes on Hibernate 5.6.15 | | `h7/` | the "after" side: the probes plus the cheat-sheet snippets (`CheatSheetTest`) on Hibernate 7.4.14 | | `src/compat/` | Hibernate 5 style and Hibernate 7 style sources that are only compiled, never run | | `scripts/api_diff.py` | jar diff of the two `hibernate-core` jars (`javax.persistence` read as `jakarta.persistence`) | | `scripts/compile-old-apis.sh` | compiles `src/compat` against both versions | | `scripts/schema_diff.py` | lines up the two `06-schema-*` files | | `scripts/run-all.sh` | everything above; rewrites `output/` | Needs JDK 17 or newer (built with 25), Maven 3.9, Python 3 and access to Maven Central. Hibernate 5.6.15 pulls Byte Buddy 1.12.18, which does not know a current JDK, so `h5/pom.xml` pins a newer Byte Buddy. `output/02-removed-api.txt` lists exact signatures that disappeared (generics and `throws` ignored, internal and `spi` packages left out). Parameter type changes such as `Serializable` to `Object` count as removed there, so treat it as a list to check, not a list of deletions; the compile checks in `output/03` to `output/09` are the arbiter.