Passar valor de variável para comando sql

Olá, boa tarde. Tenho o seguinte comando que funciona perfeitamente:

return this.session.createQuery("from modelo.Soft where id=2").list();

Eu preciso que este mesmo comando funcione pegando o valor do id de uma variável, ao invés de ter uma valor fixo, tipo assim:

return this.session.createQuery("from modelo.Soft where id=valor").list();

Podem me ajudar?

Grato, Carlos.

Tenta definir uma String antes e depois jogá-la naquele método.

String strQuery = "bla bla bla id=" + valor; return this.session.createQuery(strQuery).list();

Já tentou isso?

Abraços,

Ok, resolvido, thanks…

Para ficar mais limpo o código eu aconselho a utilizar preparedStatement.
Exemplo:

String sql = "SELECT * FROM suaTabela where suaColunaVarchar = ? and suaColunaInt = ? ";           
PreparedStatement ps = c.prepareStatement(sql);     
//Aqui você seta os valores dos ?   
ps.setString(1, "string");   
ps.setInt(2, 10);   
ResultSet rs = ps.executeQuery();

[]´s