As far as I remember, you should mark the Country class as "lazy" in the class mapping. Something like:
Code:
class name="..." table="..." lazy="true"
This will tell Hibernate to create a proxy for it when referenced from another entity (though a many-to-one relationship). Note: "true" might already by the default, but certainly don't set it to false...
You can (or should - don't remember), also mark the many-to-one relationship as lazy as well (it might be false per default) - provided it is not nullable (see Hibernate doc on the subject).
With all this set, loading an Employee won't hit the Country table. Instead, the firstime the getCountry() method is invoked, Hibernate will attempt to load the Country by ID - which will be retrieved from the second level cache (provided you have a cache it).
Hope it helps..