I have one-to-one relationship betnwee Product and ProductBasic. '1' PRODUCTID ProductBasic.hbm.xml as : When i am using property-ref, and try to load Product, it eagerly fetches ProductBasic also as : select * from PRODUCT productbo0_ left outer join PRODUCTPERIOD productbas1_ on '18'=productbas1_.CODE and productbo0_.PID=productbas1_.PID where productbo0_.PID=? NOTE: Along with Product, ProductBasic is also fetched in a single query. Even if i add constrained="true" in one-to-one mapping, the query gets fired as : select * from PRODUCT productbo0_ where productbo0_.PID=? select * from PRODUCTBASIC productbas0_ where productbas0_.CODE=? and productbas0_.PID=? NOTE: Along with Product, ProductBasic is also fetched in a different query. BUT in both these cases, ProductBasic is fetched always (non-lazy).. How can i fetch ProductBasic in a Non-Lazy manner in this case.