Parâmetros no EJB QL
Postado por Rafael Carneiro on 28th December, 2007Utilizando o objeto PreparedStatement do JDBC, você configura os parâmetros da sua consulta SQL da seguinte maneira:
PreparedStatement stmt = seuObjetoConnection.
prepareStatement("select * from user where idade = ? and nome = ?");
stmt.setInt(1,idade);
stmt.setString(2,nome);
Existem duas maneiras de configurar parâmetros para consultas na EJB QL: identificados e posicionais.
Identificados
Query query = entityManager.
createQuery("from User u where u.idade =:idade and u.nome =:nome");query.setParameter("idade",idade);
query.setParameter("nome",nome);
Posicionais
Query query = entityManager.
createQuery("from User u where u.idade =?1 and u.nome =?2");query.setParameter(1,idade);
query.setParameter(2,nome);
As diferenças entre parâmetros identificados e posicionais:
- identificados: :nome_Do_Parametro
- posicionais: ?numero_Do_Parametro
Comentários Recentes