I have the following model:
A class A has a reference to a class B. B has several subclasses including C. Relation between A and B is Lazy.
When I get an A instance from the DB, I invoke the getB() method if A class and then I cast the B instance into C in order to invoke a method that only exists on C instance.
For B and C I use a Single inheritance.
lazy A---->B Î C(extends B) getX()