I have an abstract controller support class for searches and result lists:
@Controller
@SessionAttributes(\"query\")
public abstract class SearchController&l
Using @SessionAttributes
this objects will be stored in your HttpSession with the same name and they will be accessible (shared) from different controllers. So, Spring is acting correctly.
I think the best approach in your scenario is rename this attribute in every subclass ("BookQuery", "AutorQuery", ...). Not very elegant at all :(