Product and ProductBasic has one-to-one relationship Product ---> ProductID > ProductBasic ----> ProductId, useCode, StartTime as composite key..... this startTime's value will be known as runtime. Now i want to define mapping between Product & ProductBasic, how will i do it ? Moreover suppose i define their mapping as product.productID = productBasic.productID and useCode='a' as : Product.hbm.xml: '008' PRODUCTID ProductBasic.hbm.xml as : How can i specify startTime value at runtime (say in eager fetching)? I can't use "inner join fetch" along "with clause".. ? Or i want to specify a condition in fetch join that startTime<currentTime<endtime. the value of currenttime will be known at runtime...How to make this work?