Order By DINAMICO + Hibernate

Como posso fazer um order by dinamico com hibernate?

tenho a situação de joins e caso o campo nao seja nullo tenho q ordenar por ele, e caso ele seja nullo tenho que ordenar pelo da outra tabela…

só que tenho q ordenar pelos dois campos juntos…

eu li sobre COALESCE, mas li também que ele só funciona na cláusula where.

Será que alguem sabe como fazer?

um exemplo de como eu estava tentando, mas sem sucesso:

ORDER BY COALESCE(projectActivityVO.nmActivity, sysStandaloneActivityVO.nmStandaloneActivity) ASC