session.byMultipleIds().with( <graph> ) ignores the provided graph

Description

As far as I can tell, the graph mentioned in the code below will always be ignored:

This ticket may be a duplicate of HHH-12818, but honestly I can't bring myself to consider this as an "improvement" since the API to specify an entity graph already exists (but is apparently non-functional).

Here is a branch with a reproducer: https://github.com/yrodiere/hibernate-orm/tree/multiload-graph

I also tried to start working on a fix, but this turned out to be more complex than initially anticipated. In particular:

  • for some reason, with my implementation, fetch graphs apparently don't reset eager associations to lazy;

  • the implementation of load graphs seem to be specific to parsed HQL queries (see org.hibernate.engine.query.spi.EntityGraphQueryHint#toFromElements, org.hibernate.hql.internal.ast.HqlSqlWalker#processQuery), and I'm not sure how to copy that implementation to org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.DynamicEntityLoader.

Environment

None

Assignee

Unassigned

Reporter

Yoann Rodière

Fix versions

Labels

None

backPortable

None

Suitable for new contributors

None

Requires Release Note

None

Pull Request

None

backportDecision

None

Components

Affects versions

Priority

Major
Configure