[hibernate-commits] [hibernate/hibernate-orm] 3bdc5a: HHH-14124 Work around side-effects of TwoPhaseLoad...

Yoann Rodière noreply at github.com
Thu Jul 30 08:56:05 EDT 2020


  Branch: refs/heads/5.4
  Home:   https://github.com/hibernate/hibernate-orm
  Commit: 3bdc5af63d514af8b47fe0016606eddfd37b8e7c
      https://github.com/hibernate/hibernate-orm/commit/3bdc5af63d514af8b47fe0016606eddfd37b8e7c
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-07-30 (Thu, 30 Jul 2020)

  Changed paths:
    M hibernate-core/src/main/java/org/hibernate/loader/Loader.java

  Log Message:
  -----------
  HHH-14124 Work around side-effects of TwoPhaseLoad.initializeEntity


  Commit: 2c98ab236d16646774b1dfb02bde11c6f6be9f66
      https://github.com/hibernate/hibernate-orm/commit/2c98ab236d16646774b1dfb02bde11c6f6be9f66
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-07-30 (Thu, 30 Jul 2020)

  Changed paths:
    M hibernate-core/src/main/java/org/hibernate/loader/Loader.java

  Log Message:
  -----------
  HHH-14124 Avoid too many list allocations when hydrating query results

I suspect the original goal of having a single list of hydrated objects
for all rows was to avoid instantiating one list per row, but we did
just that in the fix in the last commit.

This introduces a hack to signal that we're starting to process a new
row while still keeping a flat, single-list structure: we inserting
null elements in the list of hydrated objects.

This is admittedly very ugly, but it's the only solution I can come up
with if we want to keep the number of memory allocations similar to what
we used to have. And hopefully this code will disappear in ORM 6.0.


  Commit: b15835788be769febbe3d82fb7b8898ade8e14c5
      https://github.com/hibernate/hibernate-orm/commit/b15835788be769febbe3d82fb7b8898ade8e14c5
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-07-30 (Thu, 30 Jul 2020)

  Changed paths:
    M hibernate-core/src/test/java/org/hibernate/jpa/test/graphs/LoadAndFetchGraphTest.java

  Log Message:
  -----------
  HHH-14124 Test that the FETCH entitygraph semantic overrides EAGER associations to LAZY


  Commit: 00989d28d803617a7b15cc28f64ef2c04fad2a73
      https://github.com/hibernate/hibernate-orm/commit/00989d28d803617a7b15cc28f64ef2c04fad2a73
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-07-30 (Thu, 30 Jul 2020)

  Changed paths:
    M hibernate-core/src/main/java/org/hibernate/loader/Loader.java
    M hibernate-core/src/test/java/org/hibernate/jpa/test/graphs/LoadAndFetchGraphTest.java

  Log Message:
  -----------
  HHH-14124 Test that the FETCH entitygraph semantic overrides EAGER associations to LAZY for all results


Compare: https://github.com/hibernate/hibernate-orm/compare/1f99fbc0aad1...00989d28d803



More information about the hibernate-commits mailing list