Hibernate + BigDecimal

0 respostas
P

Olá Pessoal,
Estou com um problema no mapeamento de uma classe que tem um atributo do tipo java.math.BigDecimal. Quando eu uso o método session.load, o Hibernate retorna o campo normalmente, mas quando faço uma consulta por hql ele retorna a seguinte exception:

Qual é melhor forma de mapear campo de valor monetário na base de dados e posteriormento no Hibernate?

Obrigado desde já!

Construtor:

public ItemNota(Integer pkItemNota, Integer numero, String descricao, Integer quantidade, BigDecimal valorUnitario) {
	this.pkItemNota = pkItemNota;
	this.numero = numero;
	this.descricao = descricao;
	this.quantidade = quantidade;
	this.valorUnit = valorUnitario;
}

HQL:

"select new br.com.teste.database.itemnota.ItemNota(pkItemNota, numero, descricao, quantidade, valorUnitario) " +
"from ItemNota itemnota " +
“where itemnota.pkItemNota in (:pkItemNota)”;

Exception:

Exception in thread main java.lang.NullPointerException

at org.hibernate.util.ReflectHelper.getConstructor(ReflectHelper.java:172)

at org.hibernate.hql.ast.tree.ConstructorNode.resolveConstructor(ConstructorNode.java:114)

at org.hibernate.hql.ast.tree.ConstructorNode.prepare(ConstructorNode.java:88)

at org.hibernate.hql.ast.HqlSqlWalker.processConstructor(HqlSqlWalker.java:847)

at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectExpr(HqlSqlBaseWalker.java:1956)

at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectExprList(HqlSqlBaseWalker.java:1825)

at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectClause(HqlSqlBaseWalker.java:1394)

at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:553)

at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)

at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)

at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)

at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)

at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)

at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)

at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)

at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)

at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)

at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)

at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)

at br.com.shc.dao.itemnotafiscal.ItemNotaFiscalDAO.pesquisarTodos(ItemNotaFiscalDAO.java:129)

at teste.TesteItemNotaFiscalDAO.main(TesteItemNotaFiscalDAO.java:23)
Criado 19 de outubro de 2006
Respostas 0
Participantes 1