2024-04-16 13:26:00 -04:00
= Hibernate 7.0.0.Alpha1
2024-03-20 13:27:48 -04:00
Steve Ebersole
2024-04-16 13:26:00 -04:00
:toc:
:toclevels: 2
2024-03-20 13:27:48 -04:00
:awestruct-tags: ["Hibernate ORM", "Releases"]
:awestruct-layout: blog-post
2024-04-16 13:26:00 -04:00
:family: 7.0
2024-03-20 13:27:48 -04:00
:docs-url: https://docs.jboss.org/hibernate/orm/{family}
:javadocs-url: {docs-url}/javadocs
:migration-guide-url: {docs-url}/migration-guide/migration-guide.html
:intro-guide-url: {docs-url}/introduction/html_single/Hibernate_Introduction.html
:user-guide-url: {docs-url}/userguide/html_single/Hibernate_User_Guide.html
:ql-guide-url: {docs-url}/querylanguage/html_single/Hibernate_Query_Language.html
2024-04-16 13:26:00 -04:00
7.0.0.Alpha1 is the first development release of the Hibernate 7.0 family which includes many new features, in addition to many improvements and fixes.
2024-04-29 14:48:35 -04:00
2024-04-29 14:12:42 -04:00
2024-04-16 13:26:00 -04:00
[[jpa-32]]
== Jakarta Persistence 3.2
2024-04-29 14:12:42 -04:00
2024-04-16 13:26:00 -04:00
7.0 migrates to Jakarta Persistence 3.2 which can be fairly disruptive. See the link:{migration-guide-url}#jpa-32[Migration Guide] for details.
2024-04-29 14:12:42 -04:00
2024-04-16 13:26:00 -04:00
[[java-17]]
== Java 17
2024-04-29 14:12:42 -04:00
2024-04-16 13:26:00 -04:00
Version 3.2 of Jakarta Persistence requires Java 17. Hibernate 7.0 therefore baselines on Java 17 whereas previous versions baseline on Java 11.
2024-04-29 14:12:42 -04:00
2024-04-16 13:26:00 -04:00
[[mapping-xml]]
== mapping.xsd
2024-04-29 14:12:42 -04:00
2024-04-16 13:26:00 -04:00
Hibernate 7.0 provides a new XSD that represents an "extension" of the Jakarta Persistence orm.xsd weaving in Hibernate-specific mapping features. The namespace for this extended mapping is `http://www.hibernate.org/xsd/orm/mapping`
2024-04-29 14:48:35 -04:00
2024-04-16 13:26:00 -04:00
[[hibernate-models]]
== Hibernate Models
2024-04-29 14:48:35 -04:00
2024-04-16 13:26:00 -04:00
7.0 migrates from https://github.com/hibernate/hibernate-commons-annotations/[Hibernate Commons Annotations] (HCANN) to the new https://github.com/hibernate/hibernate-models[Hibernate Models] project for low-level processing of an application domain model, reading annotations and weaving in XML mapping documents.
2024-04-29 14:48:35 -04:00
2024-04-16 13:26:00 -04:00
See the link:{migration-guide-url}#hibernate-models[Migration Guide] for details.
2024-04-29 14:48:35 -04:00
2024-04-16 13:26:00 -04:00
[[model-validations]]
== Domain Model Validations
2024-04-29 14:48:35 -04:00
2024-04-16 13:26:00 -04:00
7.0 does much more validation of an application's domain model and especially its mapping details, e.g.
2024-04-29 14:48:35 -04:00
2024-04-16 13:26:00 -04:00
* illegal combinations such as `@Basic` and `@ManyToOne` on the same attribute
* misplaced annotations such as an annotated getter method with FIELD access
* stricter following of JavaBean conventions
2024-04-29 14:48:35 -04:00
2024-04-16 13:26:00 -04:00
See the link:{migration-guide-url}#annotation-validation[Migration Guide] for details.
2024-06-12 06:27:57 -04:00