[quote=Arthur F. Ferreira]Um Usuario pode ter ‘n’ requisições e uma requisição pertence a um usuário certo?
Uma requisição pode ter ‘n’ itens de requisição e um item de requisição pertence a uma requisição, certo?
Um item de requisição pode ter ‘n’ itens e um item pertence a um item de requisição, certo?
Com isso em mente vc tem algo do tipo (código sem as anotações do Hibernate):
public class Usuario {
private Long codigo;
private String nome;
private Date dataHora;
private List<Requisicao> requisicoes;
// metodos
}
public class Requisicao {
private Long codigo;
private Usuario usuario;
private List<Requisicao> itensRequisicoes;
// metodos
}
public class ItemRequisicao {
private Long codigo;
private Requisicao requisicao;
private List<Item> itens;
// metodos
}
public class Item {
private Long codigo;
private ItemRequisicao itemRequisicao;
// metodos
}
Se for tudo isso que eu disse aqui e seu código estiver com as anotações de relacionamentos feitas corretamente, seu HQL fica:
SELECT
u.nome,
r.dataHora,
ir.quantidadeSolicitada,
i.nome
FROM
Usuario as u
inner join u.requisicoes as r
inner join r.itensRequisicoes as ir
inner join ir.itens as i
WHERE
u.codigo = 4
[/quote]
Muito obrigado pela explicacao 
Vou colocar aqui minhas classes:
Usuario
@Entity
@Table(name="usuario")
public class Usuario implements Serializable{
private static final long serialVersionUID = -6755569886340789158L;
@Id
@GeneratedValue
@Column(name="codigo")
private Integer codigo;
@Column(name="nome", length=45, nullable= true)
private String nome;
@Column(name="matricula", length=45, nullable= true)
private String matricula;
@org.hibernate.annotations.NaturalId
@Column(name="login", length=45, nullable= true)
private String login;
@Column(name="senha", length=45, nullable= true)
private String senha;
@Column(name="ativo")
private boolean ativo;
@ManyToOne
@JoinColumn(name="codigoSetor")
private Setor setor;
...
Requisicao:
@Entity
@Table(name="requisicao")
public class Requisicao implements Serializable{
private static final long serialVersionUID = -3123513467499966683L;
@Id
@GeneratedValue
@Column(name="codigo")
private Integer codigo;
@Column(name="dataHora",length=80, nullable=true)
private String dataHora;
@ManyToOne
@JoinColumn(name="codigoUsuario", nullable=true)
private Usuario usuario;
@ManyToOne
@JoinColumn(name="codigoStatus", nullable=false )
private Status status;
...
ItemRequisicao
@Entity
@Table(name="item_x_requisicao")
public class ItemRequisicao implements Serializable{
private static final long serialVersionUID = 7029429020763441219L;
@Id
@GeneratedValue
@Column(name="codigo")
private Integer codigo;
@Column(name="quantidadeSolicitada", length=10, nullable=true)
private int quantidadeSolicitada;
@Column(name="quantidadeAtendida", length=10, nullable=false)
private int quantidadeAtendida;
@ManyToOne
@JoinColumn(name="codigoItem")
private Item item;
@ManyToOne
@JoinColumn(name="codigoRequisicao")
private Requisicao requisicao;
...
Vou tentar implementar o seu codigo HQL baseado nas minhas classes…
Qualquer coisa posto aqui 
Meu mapeamento ta desse jeito.