Olá… tenho a mesma dúvida que este antigo tópico, mas não achei solução: http://www.guj.com.br/posts/list/15/27331.java
Basicamente tenho uma tabela no banco de dados e um objeto mapeado para ele.
Quero alterar uma entrada nessa tabela, entao crio um objeto, seto seu id e 2 campo que quero alterar, e o hibernate “nula” todos os outros campos daquela entrada!
Fazer o “load” ou um “select” para tal objeto é um custo muito desnecessário, pois tem vários campos, e a ação é efetuada a todo o momento. Existe como alterar somente os campos que eu quero sem precisar fazer um “UPDATE” na mão?
Dei uma pesquisada e nao achei. 
Além do mais, ocasiona erro ao fazer UPDATE por HQL. Pode ser problema do driver SqlServer. No SQL gerado ele insere uma virgula logo após o nome da tabela (classe), e me retorna erro.
Da HQL:
UPDATE Objeto obj SET obj.valor = :valor WHERE obj.id = :idObjeto
Me retorna a SQL e o erro:
update TB_TABELA, set TB_VALOR=? where TB_ID=?
SQL Error: 102, SQLState: S0001
Incorrect syntax near ','.
vlw!!
jopss