No tutorial da sun, só vi exemplos de ejbSelect para o tipo Collection.
É possivel fazer um ejbSelect para retornar somente um valor (int) ?
Fiz alguns testes e não obtive muito sucesso. Estou usando o j2sdkee 1.4, CMP.
a principio, baseando no exemplo do tutorial fiz:
…
public abstract int ejbSelectLastInidice()throws FinderException;
public int getLastIndice FinderException(){
return ejbSelecLastIndicet();
}
…
No deploytool.
EJB - QL
select max(p.cidade) from Cidade as p
mas quando tento gerar as sqls (Generate Default SQL) ocorre um erro.
Alguém saberia onde estou errando ou teria outros exemplos de uso do ejbSelect ?
Particularmente, não consegui fazer um ejbSelect para retornar um SUM().
Me disseram q o ejbSelect retorna somente CMP.
a forma que consequi fazer é um statment no meu session.
String sql = “”;
sql = “SELECT sum ( i.valor )”;
sql += "FROM Credito c, itemCredito i ";
sql += “WHERE c.id = ? AND c.ano = ?”;
try {
stm4 = db.getConnection().prepareStatement(sql);
}
catch (SQLException e) {
System.out.println( "Problemas com o SQL4 / " + e );
}
Obs: os “?” são os parametros recebidos, e não tem um numero associado. Somente uma ordem.
Acredito que a assinatura do seu metodo esteja com problema:
public abstract java.lang.Integer ejbSelectLastInidice() throws FinderException;
ou , caso voce queira uma colecao de inteiros, que nao eh o seu caso
public abstract java.util.Collection ejbSelectLastInidice() throws FinderException;
Vamos esperar para ver se com o java 1.5 (J2SE) com seus recursos de autoboxing evite esse erro (int = Integer) e se o generics tambem de um jeito nessa Collection da segunda query.