Hibernate 6 is coming out and there are 2 features of especial interest.
First, it's Jakarta hibernate, so the package naming moves from
javax.persistence to
jakarta.persistence
Secondly, a major internal change has been made to improve performance.
As anyone who has done raw
JDBC probably knows, when you get a ResultSet row you can obtain column values in one of 2 ways:
A) By column position relative to the query, starting with column 1
B) By column name
Up to now, Hibernate has used option B. The problem is that since JDBC operates on a serial data channel, column values are generally returned in column order and then stored in column order in the driver's internal result cache. So a simple table lookup by column number is very low overhead. On the other hand, retrieval by column name generally means that a Map has to be set up to find the column values and worse, the lookup has to be in some way normalized to be case-independent. That can be a lot less efficient.
So in Hibernate 6, they've switched to Option A.