Hi everyOne
During hibernate/JPA init sequence in +AbstractLoadPlanBasedCollectionInitializer+ class line 61 and 62 these instruction was executed
{code:java}finalLoadPlan plan =MetamodelDrivenLoadPlanBuilder.buildRootCollectionLoadPlan( strategy, collectionPersister ); this.staticLoadQuery =BatchingLoadQueryDetailsFactory.INSTANCE.makeCollectionLoadQueryDetails( collectionPersister, plan, buildingParameters );{code}
When building collectionPersister OneToManyPersister for Lieu.equipements collection
this.staticLoadQuery should contain a query to load equipment from Lieu like this one
{code:sql}select equipement0_.sallefk as sallefk4_1_0_, equipement0_.id as id1_1_0_, equipement0_.id as id1_1_1_, equipement0_.lieufk as lieufk3_1_1_, equipement0_.sallefk as sallefk4_1_1_, equipement0_.type as type2_1_1_, lieu1_.id as id1_2_2_, lieu1_.description as descript2_2_2_, lieu1_.published as publishe3_2_2_, lieu1_.title as title4_2_2_ from equipement equipement0_ inner join lieu lieu1_ on equipement0_.lieufk=lieu1_.id where equipement0_.lieufk=?{code}
But a query passing by table lieu → salle → equipement like this one is generated
{code:sql}select equipement0_.lieufk as lieufk3_1_0_, equipement0_.id as id1_1_0_, equipement0_.id as id1_1_1_, equipement0_.lieufk as lieufk3_1_1_, equipement0_.sallefk as sallefk4_1_1_, equipement0_.type as type2_1_1_, salle1_.id as id1_0_2_, salle1_.code_user_to_create as code_use2_0_2_, salle1_.code_user_to_update as code_use3_0_2_, salle1_.date_crea_enr as date_cre4_0_2_, salle1_.date_modif_enr as date_mod5_0_2_, salle1_.temoin_en_service as temoin_e6_0_2_, salle1_.lieufk as lieufk2_3_2_, salle1_.type as type1_3_2_, lieu2_.id as id1_2_3_, lieu2_.description as descript2_2_3_, lieu2_.published as publishe3_2_3_, lieu2_.title as title4_2_3_ from equipement equipement0_ inner join salle salle1_ on equipement0_.sallefk=salle1_.id inner join lieu lieu2_ on salle1_.lieufk=lieu2_.id where equipement0_.lieufk=?{code}
the declaration of my model seems good
I have the impression that the loadPlan doesn't seem to match the joint declarati declaration
To reproduce the case, use maven project in attachement, put breakpoint in +AbstractLoadPlanBasedCollectionInitializer+ class line 61 and run in debug the test class SpringBootJpaH2ApplicationTests. |
|