December 28, 2007

Parâmetros no EJB QL

Rafael Carneiro

, , , ,

Utilizando 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
2 comentários para "Parâmetros no EJB QL"
Igo Coelho disse:
January 5, 2008

Boa Carneiro! Vale lembrar que numca devemos usar concatenação na montagem das consultas para evitar principalmente a injeção de SQL.

January 5, 2008

@Igo

Com certeza, boa lembrança. :)

Deixe um comentário
Nome: 
E-mail: 
Website: 
Mensagem: