java - Fetch an EmbeddedId with a jpa query -
i have following entity embedded id :
public class refmoduleprofile {     private string pertinance;     @embeddedid     private refmoduleprofilepk pk = new refmoduleprofilepk(); }  @embeddable public class refmoduleprofilepk implements serializable {     @manytoone     private refmodule module;     @manytoone     private refprofile profile; }   now want load refmoduleprofile refprofile , refmodule fetched :
@query("select rmp refmoduleprofile rmp inner join fetch rmp.pk.module rmp.pk.profile = :profile") list<refmoduleprofile> findbyprofilwithfetchedmodule(@param("profile") refprofile profile);   this request generate following sql :
/* select     rmp      refmoduleprofile rmp  inner join     fetch rmp.pk.module      rmp.pk.profile = :profile */ select         refmodulep0_.id_module id_modul2_36_0_,         refmodulep0_.id_profile id_profi3_36_0_,         refmodule1_.id_module id_modul1_34_1_,         refmodulep0_.module_profile_pertinance module_p1_36_0_,         refmodule1_.module_alias module_a2_34_1_,         refmodule1_.module_label module_l3_34_1_,         refmodule1_.module_status module_s4_34_1_,         refmodule1_.user_admin user_adm5_34_1_              duo_ref_module_profile refmodulep0_      inner join         duo_ref_module refmodule1_              on refmodulep0_.id_module=refmodule1_.id_module              refmodulep0_.id_profile=?   this request seems good, generate following request (one per refmoduleprofile retrieved) :
/* load obs.duo.model.referentiel.refmodule */ select     refmodule0_.id_module id_modul1_34_0_,     refmodule0_.module_alias module_a2_34_0_,     refmodule0_.module_label module_l3_34_0_,     refmodule0_.module_status module_s4_34_0_,     refmodule0_.user_admin user_adm5_34_0_      duo_ref_module refmodule0_      refmodule0_.id_module=?   i don't think spring-data-jpa cause problem, can't find how change request or entity.
 
 
Comments
Post a Comment