Eu to com o seguinte problema, eu queria selecionar o ultimo registro inserido em no banco de dados, seria um campo numero de relatorio, ele ñ pode repitir, eu queria saber como eu faço para sempre selecionar ele no banco de dado, eu to usando o Mysql. Alguem pode me dar uma ajuda vlw
Selecionar o Ultimo regitro do Mysql
5 Respostas
voce ta usando que padrão para retornar esses dados do banco?
eu fiz algo parecido usando JPA e Hibernate… ei fiz uma Named query que retornava esse ultimo registro
@NamedQuery(name="Caixa.recuperarUltimoCaixa", query="SELECT Max(a.idcaixa) FROM Caixa a")
no caso eu implementei um ObjectSudi para construir a query e retornar um objeto, ai eu pego esse objeto e utilizo ele
mais a sacada do ultimo ta na verdade nessa query, indepednete do padrão de persistencia que voce tiver ajudando eu acho que funciona
espero ter ajudado.
valeu
Boa tarde! Sei que a minha dúvida não tem nada a ver com o titulo do post, mas é que o Nhandeara mencionou Hibernate, quem sabe vc pode me ajudar.
Seguinte tenho uma tabela Venda no meu banco PostgreSQL e estou precisando fazer uma consulta retornando a soma dos totais da venda entre duas determinadas datas. Estou usando Hibernate com Entitymanager, nos testes que fiz com Iterator, consiguo fazer a consulta em determinadas campos, mas tem alguns que gera erro, será que alguém pode me dar um Help em como fazer um sum usando Hibernate com Entitymanager.
Leandro, que erros que voce ta pegando? Por que se a SQL tiver correta basta voce criar uma NamedQuery e mandar gerar usando o Entity Manager
Quando não utilizo alias na pesquisa consiguo realizar as funções count e sum nos meus campos de tabela sem ( _ ) tipo: alorbruto. Mas quando uso com alias só consiguo fazer count nos campo com ( _ ) tipo: valor_venda.
Erro ocorrido com alias:
1. Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: venda_pa of: com.cliqueaqui.libanori.model.beans.Produto [select sum(vend.venda_pa) from com.cliqueaqui.libanori.model.beans.Produto vend ]
2. at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:617)
3. at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:96)
4. at com.cliqueaqui.libanori.model.dataacess.DAO.pesquisarValorVendaPorData2(DAO.java:700)
5. at com.cliqueaqui.libanori.model.dataacess.DAO.main(DAO.java:715)
6. Caused by: org.hibernate.QueryException: could not resolve property: venda_pa of: com.cliqueaqui.libanori.model.beans.Produto [select sum(vend.venda_pa) from com.cliqueaqui.libanori.model.beans.Produto vend ]
7. at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:44)
8. at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:38)
9. at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1358)
10. at org.hibernate.hql.ast.tree.FromElementType.getPropertyType(FromElementType.java:279)
11. at org.hibernate.hql.ast.tree.FromElement.getPropertyType(FromElement.java:386)
12. at org.hibernate.hql.ast.tree.DotNode.getDataType(DotNode.java:566)
13. at org.hibernate.hql.ast.tree.DotNode.prepareLhs(DotNode.java:241)
14. at org.hibernate.hql.ast.tree.DotNode.resolve(DotNode.java:188)
15. at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:94)
16. at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:90)
17. at org.hibernate.hql.ast.HqlSqlWalker.resolve(HqlSqlWalker.java:728)
18. at org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1216)
19. at org.hibernate.hql.antlr.HqlSqlBaseWalker.aggregateExpr(HqlSqlBaseWalker.java:2898)
20. at org.hibernate.hql.antlr.HqlSqlBaseWalker.functionCall(HqlSqlBaseWalker.java:2346)
21. at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectExpr(HqlSqlBaseWalker.java:1963)
22. at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectExprList(HqlSqlBaseWalker.java:1825)
23. at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectClause(HqlSqlBaseWalker.java:1394)
24. at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:553)
25. at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
26. at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
27. at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
28. at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
29. at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
30. at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
31. at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
32. at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
33. at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
34. at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
35. at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
36. at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:93)
37. ... 2 more
Erro ocorrido sem alias:
1. Exception in thread "main" java.lang.NullPointerException
2. at org.hibernate.dialect.Dialect$3.getReturnType(Dialect.java:102)
3. at org.hibernate.hql.ast.util.SessionFactoryHelper.findFunctionReturnType(SessionFactoryHelper.java:382)
4. at org.hibernate.hql.ast.tree.AggregateNode.getDataType(AggregateNode.java:21)
5. at org.hibernate.hql.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:143)
6. at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:705)
7. at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:529)
8. at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:645)
9. at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
10. at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
11. at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
12. at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
13. at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
14. at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
15. at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
16. at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
17. at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
18. at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
19. at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
20. at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:93)
21. at com.cliqueaqui.libanori.model.dataacess.DAO.pesquisarValorVendaPorData2(DAO.java:700)
22. at com.cliqueaqui.libanori.model.dataacess.DAO.main(DAO.java:715)
Função utilizada;
# public static void pesquisarValorVendaPorData2() {
#
#
#
# EntityManager entityManager = HibernateFactory.getEntityManager();
#
#
# Iterator results = entityManager.createQuery(
# "select count(vend.quantidade_parcela) from Venda vend ")
# .getResultList()
# .iterator();
#
# while ( results.hasNext() ) {
# Object row = results.next();
# Long type = (Long) row;
# System.out.println(" Soma teste "+type);
#
# }
#
# }
aonde voce ta usando essa propriedade: “venda_pa”???
o segundo erro e um erro de Null Point, voce ja tentou usar o depurador para ver se algum objeto n ta sendo instanciado???