Update simples no Hibernate

Senhores,

Dado que possuo um Id de entidade, não uma entidade persistente, quero atualizar um atributo como um status por exemplo.

Se eu operar da seguinte forma:

entidade = session.get(Entidade.class, Id);
entidade.setStatus(novoStatus);

Eu gasto um select desnecessário.

Na documentação do hibernate ele comenta que é um gerenciador ORM e não ferramenta JDBC, bla, bla, bla.

Mas muita gente usa Hibernate para facilitar acesso ao banco, e o Hibernate disponibiliza a interface Work para acesso direto JDBC.

Usando Work minha solução seria algo como:

EntidadeWork work = new EntidadeWork(activityId);
session.doWork(work);
...
// no work
PreparedStatement pst = connection.prepareStatement(...);
pst.setString(novoStatus);
pst.setInt(Id);
pst.executeUpdate();

Porém, o uso do Work pressupõe “gambiarra”.

Alguém tem uma forma elegante de fazer isso sem usar JDBC ? Fazer um update de uma entidade dado um id e novo valor do campo sem usar JDBC, ou melhor, usando HQL!?

Abraço,

Vc pode utilizar native/named query: http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querysql.html