Estou com um problema que esta me parecendo complicado 
Minhas classes:
Venda
public class Venda implements Serializable {
private int codigo;
private Loja loja;
private Cliente cliente;
private Set itens = new HashSet();
// Outras firulas
}
VendaItem
public class VendaItem implements Serializable {
private Venda venda;
private Referencia referencia;
private int quantidade;
private float valor;
private float desconto;
private float precoCusto;
// Outras firulas
}
Referencia
public class Referencia implements Serializable {
private int codigo;
private String referencia;
private String tamanho;
private String descricao;
// Outras firulas
}
Busca
Criteria c = s.createCriteria(VendaItem.class)
.setFetchMode("referencia", FetchMode.JOIN)
.setProjection( Projections.groupProperty("referencia.codigo") )
.createCriteria( "venda", "v" )
.add( Restrictions.between( "data", dtini, dtfim ) )
.createCriteria( "v.loja", "l" )
.add( Restrictions.eq( "codigo", new Integer(codLoja) ) );
return c.list();
Se eu tiro o groupProperty ele tras todas os itens de venda do periodo bla bla bla porem, se eu coloco o groupProperty ele so tras o que ta no groupProperty (vendo o SQL)
Bom… eu preciso listar alguns dados como valores de venda etc… de um item de venda agrupado pelas referencias…
Será que me fiz entender? 