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