= 6.4 Migration Guide
:toc:
:toclevels: 4
:docsBase: https://docs.jboss.org/hibernate/orm
:versionDocBase: {docsBase}/6.4
:userGuideBase: {versionDocBase}/userguide/html_single/Hibernate_User_Guide.html
:javadocsBase: {versionDocBase}/javadocs


This guide discusses migration to Hibernate ORM version 6.4. For migration from
earlier versions, see any other pertinent migration guides as well.

* link:{docsBase}/6.3/migration-guide/migration-guide.html[6.3 Migration guide]
* link:{docsBase}/6.2/migration-guide/migration-guide.html[6.2 Migration guide]
* link:{docsBase}/6.1/migration-guide/migration-guide.html[6.1 Migration guide]
* link:{docsBase}/6.0/migration-guide/migration-guide.html[6.0 Migration guide]


[[soft-delete]]
== Soft Delete

6.4 adds support for soft deletes against an entity's primary table and collection tables, using the
new `@SoftDelete` annotation.

[source,java]
----
@Entity
@SoftDelete
class Account {
	...
}
----

See the link:{userGuideBase}#soft-delete[User Guide] for details.

[[custom-tenant-identifier-type]]
== Custom tenant identifier type

The `CurrentTenantIdentifierResolver` and `MultiTenantConnectionProvider` SPIs were generified to support custom tenant identifier types.
Both types now accept a type parameter that represents the tenant identifier type.
Methods that were accepting or returning a tenant identifier value of type `String` were changed to use the type variable.

Applications can migrate by specifying the type parameter `<String>` when extending `CurrentTenantIdentifierResolver`
or one of the `MultiTenantConnectionProvider` subtypes.
