Hibernate como fazer Join, please!

Boa tarde pessoal,

eu tenho uma HQL da minha classe DestinoTransferenciaDAO onde tenho uma tabela destinotransferencia com um campo id_arquivo relacionado com a tabela arquivo com o campo id_arquivo, e gostaria de saber como fazer um join na minha HQL para trazer os dados para consulta da tabela arquivo?

Obrigado,

Gustavo

Minha Classe DAO:

public class DestinoTransferenciaDao extends
		GenericHibernateDaoFmt<DestinoTransferencia, DestinoTransferenciaFmt> {

	Session s;

	public DestinoTransferenciaDao(Session session) {
		super(session, DestinoTransferencia.class,
				DestinoTransferenciaFmt.class);
		this.s = session;
	}


	public List<DestinoTransferenciaFmt> getListaTransferenciaArquivos(
			int qtdReg, Date dataInicial,	Date dataFinal, Integer idEstacao, 
			Collection<Integer> opt){
		
		StringBuilder s = new StringBuilder();
		s.append("Select new ");
		s.append(DestinoTransferenciaFmt.class.getName());
		s.append("(destinoTransferencia) From ");
		s.append(DestinoTransferencia.class.getName());
		s.append(" destinoTransferencia ");
		s.append(" where idTerminal is not null ");
		s.append(" )");
}

tenta fazer assim

"from destinotransferencia d left join fetch d.arquivo where… "

onde arquivo deve ser o nome do atributo na classe destinotransferencia.

flw!

eu tentei fazer assim:

Select new
br.com.digicon.supervia.dao.fmt.DestinoTransferenciaFmt (destinoTransferencia)
From
br.com.digicon.supervia.modelo.DestinoTransferencia destinoTransferencia
left join fetch destinoTransferencia.idArquivo
where idArquivo is not null

mais apresentou NullPointerException

Exception: org.vraptor.internal.exception.RaptorException: Exception thrown while trying to handle [java.lang.NullPointerException] with [org.vraptor.internal.domain.basic.BasicExceptionHandler@2eef15]

Cole sua stack trace completa.