Erro HQL illegal attempt to dereference collection [Resolvido]

Fala aê galera. Seguinte, estou com um problema e não estou conseguindo resolver.
Tenho 3 entidades:

  1. Nota;
  2. Item;
  3. Cliente.

Nota

@Entity
@Table(name="nota")
@NamedQuery(name="fatBruto", query="select nf.notaPK.cliente.nomeFantasia, sum(nf.itens.total) from Nota nf join nf.notaPK.cliente join nf.itens where nf.data>=:dataInicial and nf.data<:dataFinal group by nf.notaPK.cliente.nomeFantasia")
public class Nota implements Serializable{
	@EmbeddedId
	private NotaPK notaPK;
	
	@Column(name="data")
	private Date data;
	
	@OneToMany(fetch=FetchType.EAGER, cascade={CascadeType.ALL})
	private List<Item> itens = new ArrayList<Item>();
	
	@Transient
	private Float totalNFLiquido;
	
	@Transient
	private Float totalNFBruto;

NotaPK

@Embeddable    
public class NotaPK implements Serializable{
	
	private Integer numero;
	
	private Integer serie;
	
	@ManyToOne
	@JoinColumn(name="cod_cli")
	private Cliente cliente;

Cliente

@Entity
@Table(name="cliente")
public class Cliente implements Serializable{
	
	@Id
	private Long codigo;
	
	@Column(name="razaosocial", length=70)
	private String razaoSocial;
	
	@Column(name="nomefantasia", length=70)
	private String nomeFantasia;
	
	@Column(name="uf", length=2)
	private String uf;
	
	@Column(name="pais", length=30)
	private String pais;

Item

@Entity
@Table(name="item")
public class Item implements Serializable{

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private Integer id;

	@Column(name="coditem", length=20)	
	private String coditem;
	
	@Column(name="quant", length=20, precision=3)
	private Float quantidade;

	@Column(name="ipi", length=20, precision=2)
	private Float ipi;
	
	@Column(name="icms", length=20, precision=2)
	private Float icms;
	
	@Column(name="pis", length=20, precision=2)
	private Float pis;
	
	@Column(name="cofins", length=20, precision=2)
	private Float cofins;
	
	@Column(name="outros", length=20, precision=2)
	private Float outros;
	
	@Column(name="total", length=20, precision=2)
	private Float total;
	
	@Column(name="elementopep", length=20)	
	private String elementoPEP;
	
	@Transient
	private Float liquido;

Ao executar dá esse erro:

14:03:55,301 ERROR SessionFactoryImpl:435 - Error in named query: fatBruto
org.hibernate.QueryException: illegal attempt to dereference collection [(nota0_.cod_cli, nota0_.numero, nota0_.serie).itens] with element property reference [total] [select nf.notaPK.cliente.nomeFantasia, sum(nf.itens.total) from net.weg.bi.modelo.Nota nf join nf.notaPK.cliente join nf.itens where nf.data>=:dataInicial and nf.data<:dataFinal group by nf.notaPK.cliente.nomeFantasia]
	at org.hibernate.hql.ast.tree.DotNode$1.buildIllegalCollectionDereferenceException(DotNode.java:68)
	at org.hibernate.hql.ast.tree.DotNode.checkLhsIsNotCollection(DotNode.java:558)
	at org.hibernate.hql.ast.tree.DotNode.resolve(DotNode.java:243)
	at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:117)
	at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:113)
	at org.hibernate.hql.ast.HqlSqlWalker.resolve(HqlSqlWalker.java:868)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1323)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.aggregateExpr(HqlSqlBaseWalker.java:3189)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.functionCall(HqlSqlBaseWalker.java:2548)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectExpr(HqlSqlBaseWalker.java:2129)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectExprList(HqlSqlBaseWalker.java:1983)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectClause(HqlSqlBaseWalker.java:1515)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:586)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:294)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:237)
	at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:254)
	at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:185)
	at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
	at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:98)
	at org.hibernate.impl.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:562)
	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:424)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
	at net.weg.bi.util.HibernateUtil.<clinit>(HibernateUtil.java:12)
	at net.weg.bi.dao.hibernate.HibernateDAOFactory.<init>(HibernateDAOFactory.java:16)
	at net.weg.bi.dao.DAOFactory.getDAOFactory(DAOFactory.java:9)
	at net.weg.bi.controle.NotaControle.fatBruto(NotaControle.java:30)
	at net.weg.bi.testes.NotaTestes.main(NotaTestes.java:111)

	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
	at net.weg.bi.util.HibernateUtil.<clinit>(HibernateUtil.java:12)
	... 4 more

Eu preciso saber o total das notas por cliente.

Se eu trocar o sum(nf.itens.total) para count(nf), a query me retorna a quantidade de notas, mas não é isso que preciso…

Alguém já passou por isso?

Resolvi…
Iniciei a query com o Item (criei um relacionamento “item com nota”)
Ficou assim:

@NamedQuery(name="fatBruto", query="select new net.weg.bi.beans.FaturamentoBrutoCliente(nf.notaPK.cliente.nomeFantasia, sum(item.total)) from  Item item join item.nota nf where nf.data>=:dataInicial and nf.data<:dataFinal group by nf.notaPK.cliente.nomeFantasia")