• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
  • Mikalai Zaikin

Hibernate 6

Saloon Keeper
Posts: 27718
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
    Bookmark Topic Watch Topic
  • New Topic