Consulta com inner join?

Como faço consulta com o hibernate utilizando inner join?tem outras maneiras?

Minhas classes são assim:
Ex:

Lancamento.java

Date data;
@ManyToOne
@JoinColumn("usuario")
Usuario usuario;

Estou tentando consultar assim:

@SuppressWarnings("unchecked") public List<Lancamento> findByDateAndUser(Date dataInicial, Date dataFinal, Usuario usuario) throws Exception { return getHibernateTemplate().find("from Lancamento l" + "INNER JOIN l.usuario u" + "WHERE lanc_data BETWEEN ? AND ?" + "AND " + "WHERE i.user_codigo = ?", new Object[] {dataInicial, dataFinal, user.getuser_codigo()}); }

O que está errado?Tem uma maneira melhor?

pra fazer inner join as tabelas tem que estar relacionadas e vc tem que usar o campo de relacionamento pra fazer o join e so depois entao colocar os criterios da sua consulta…

2: pra fazer o join vc usa table1 inner join table2 on table1.CAMPO = table2.CAMPO

e so depois os seus criterios…da um grau nisso que vai rodar…