Tenho a classe Estoque( Produto produto, double estoque )
e a classe Produto ( int id, String descricao, double estoqueMinimo, etc… )
quero fazer uma criteria comparando se: ( estoque < produto.estoqueMinimo ) ???
se estivessem na mesma tabela, era só usar Restrictions.ltProperty( “estoque”, “estoqueMinimo” );
se alguem puder dar uma ajudinha… fico grato!
lembrando que a criteria tem como classe base Estoque
ainda nao consegui nada… ja tentei :
Restrictions.ltProperty( “estoque”, “produto.estoqueMinimo” );
mas nao deu certo
Resolvi assim:
Criteria criteria = session.createCriteria(Estoque.class);
criteria.createAlias("produto", "p");
criteria.add(Restrictions.ltProperty("estoque", "p.estoqueMinimo"));
Criteria cri = session.createCriteria(ItemSecao.class);
cri.createAlias("secao", "Secao");
cri.add(Restrictions.eq("secao.codsecao", codsecao));
cri.add(Restrictions.eq("inddesativar", "N"));
cri.add(Expression.ge("dataexpirar",new Date(System.currentTimeMillis())));
cri.addOrder(Order.asc("sequencia"));
List<ItemSecao> lista = cri.list();
onde :
cri.add(Expression.ge("dataexpirar",new Date(System.currentTimeMillis())));
great then > ( gt )
great equals >= (ge)
less eguals <= (le)
less then < (lt)
tente usar este filtro e para relacionar as tabelas pode se usar cri.createAlias(“secao”, “Secao”); “Alias”…
Abraços