Files

23 lines
1.5 KiB
Markdown

# 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.