Java 5 has introduced generic polymorphism to the Java ecosystem. This has been a great addition to the Java language, even if we’re all aware of the numerous caveats due to generic type erasure and the consequences thereof. Generic polymorphism (also known as parametric polymorphism) is usually maintained orthogonally to possibly pre-existing subtype polymorphism.
In this rather technical article, I have explained why it is difficult to correlate subtype polymorphism with generic polymorphism within the same type hierarchy.
When Java and SQL work together, great software can evolve. That's why I have created jOOQ. Follow me on blog.jooq.org