Teoricamente métodos ejbSelect retornam qualquer coisa ejb objects, ejb local objects, Integers, Double, Collections de qualquer coisa e etc… Na especificação EJB 2.1, nós temos a possibilidade de utilizar as funções max, min e blablabla.
Mas para executarmos um ejbSelect, o melhor a fazer é criar um ejbHome que delega a sua chamada para o ejbSelect. Isso é chato de fazer, aliás, muito chato. Além disso você não tem criterios como GROUP BY, etc…
Isso é muito complicado. Em SAs open sources como o JBoss, você pode re-escrever a infra-estrutura. No caso do JBoss você pode escrever um MBean que faça isso para você ou que encapsule alguém que possa fazer isso para você. Mas e se você estiver em um SA proprietário? E ai? Como é que fica ? Se eu não me engano, o jrun e o websphere 5.0 possuem alguma solução para isso… O JRun também usa JMX, então a solução é a mesma do JBoss…
Esconder pesquisas SQL em Session Beans é horrível…
Isso é um dilema…
