is my understanding is correct?
ObjectA includes ObjectB as FetchType=EAGER ObjectB includes ObjectC
  as FetchType=LAZY
We are fetching ObjectA. So, because of eager fetch type, it is
  automatically fetching ObjectB. But when I am trying to fetch ObjectC
  using ObjectB, it is giving this error.
ObjectA.getObjectB = OK ? i mean no exception thrown or no error right?
then when you access ObjectC by ObjectB by :
- ObjectB.getObjectC or
- ObjectA.getObjectB.getObjectC ? 
and you get an exception of LazyInitializationException.
Hibernate Documentation says that.. 
A LazyInitializationException will be thrown by Hibernate if an
  uninitialized collection or proxy is accessed outside of the scope of
  the Session, i.e., when the entity owning the collection or having the
  reference to the proxy is in the detached state.
Sometimes a proxy or collection needs to be initialized before closing
  the Session. You can force initialization by calling cat.getSex() or
  cat.getKittens().size(), for example. However, this can be confusing
  to readers of the code and it is not convenient for generic code.
The static methods Hibernate.initialize() and
  Hibernate.isInitialized(), provide the application with a convenient
  way of working with lazily initialized collections or proxies.
  Hibernate.initialize(cat) will force the initialization of a proxy,
  cat, as long as its Session is still open. Hibernate.initialize(
  cat.getKittens() ) has a similar effect for the collection of kittens.
from - https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/performance.html#performance-fetching-initialization
You have two option 
Change FetchType=LAZY to FetchType=EAGER on your relationship between ObjectB and ObjectC
or use Hibernate.initialize(ObjectC);
to initialize the objectC before the transaction ends..
hope this will help you..