Olá pessoal…
Para não abrir um novo tópico e bagunçar o forum, vai ai mais uma dúvida minha:
Como que eu faço esse SQL usando criteria do hibernate???
SQL: select * from pessoas where month(pes_DataNasc) = ‘01’ (OBS: meu BD é o MySQL)
Criteria: ???
OBS: eu preciso fazer esse código para colocar no meu DAO de Pessoas, a fim de me retornar uma lista de todas as pessoas que nasceram no mes “01” (Janeiro). Vale lembra que esse método me retorna uma lista de inteiros e não do tipo Date.
Segue abaixo meu método no DAO:
public List<Pessoas> selecionarAniver(int s) throws Exception {
Session session = null;
try {
session = HibernateUtil.getSession();
Criteria criteria = session.createCriteria(Pessoas.class);
criteria.add(Restrictions.sqlRestriction("month(pes_DataNasc) = "+s));
return criteria.list();
} catch(Exception e){
throw e;
} finally {
if(session != null && session.isOpen()){}
session.close();
}
}
O erro que aparece no printStrackTrace é:
run:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Hibernate: select this_.pes_Codigo as pes1_60_14_, this_.apr_Codigo_codigo as apr56_60_14_, this_.bat_Codigo_codigo as bat57_60_14_, this_.celulas_cel_Codigo as celulas58_60_14_, this_.consolidador as consolid2_60_14_, this_.dataImportacao as dataImpo3_60_14_, this_.facebook as facebook60_14_, this_.ig_Codigo_codigo as ig59_60_14_, this_.mun_Municipios_codigo as mun60_60_14_, this_.pes_Bairro as pes5_60_14_, this_.pes_BatEspSanto as pes6_60_14_, this_.pes_CasadosSempre as pes7_60_14_, this_.pes_Cep as pes8_60_14_, this_.pes_Complemento as pes9_60_14_, this_.pes_ConjugeMembro as pes10_60_14_, this_.pes_Cpf as pes11_60_14_, this_.pes_DataCasmento as pes12_60_14_, this_.pes_DataEmissaoCart as pes13_60_14_, this_.pes_DataInativacao as pes14_60_14_, this_.pes_DataNasc as pes15_60_14_, this_.pes_DataNascConjuge as pes16_60_14_, this_.pes_DataReintegracao as pes17_60_14_, this_.pes_DataSaidaReligAnt as pes18_60_14_, this_.pes_DataValCart as pes19_60_14_, this_.pes_Dizimista as pes20_60_14_, this_.pes_Email as pes21_60_14_, this_.pes_EncontroDeus as pes22_60_14_, this_.pes_Endereco as pes23_60_14_, this_.pes_EstCivil as pes24_60_14_, this_.pes_FoneCel as pes25_60_14_, this_.pes_FoneCom as pes26_60_14_, this_.pes_FoneRes as pes27_60_14_, this_.pes_Formacao as pes28_60_14_, this_.pes_FotoNome as pes29_60_14_, this_.pes_GrauInstrucao as pes30_60_14_, this_.pes_Inativo as pes31_60_14_, this_.pes_Itq as pes32_60_14_, this_.pes_MaeMembro as pes33_60_14_, this_.pes_MotivoInativacao as pes34_60_14_, this_.pes_MotivoSaidaReligAnt as pes35_60_14_, this_.pes_Nacionalidade as pes36_60_14_, this_.pes_Nome as pes37_60_14_, this_.pes_NomeConjuge as pes38_60_14_, this_.pes_NomeMae as pes39_60_14_, this_.pes_NomePai as pes40_60_14_, this_.pes_NumMembro as pes41_60_14_, this_.pes_Numero as pes42_60_14_, this_.pes_OrigemReligiosa as pes43_60_14_, this_.pes_PaiMembro as pes44_60_14_, this_.pes_PastorAtual as pes45_60_14_, this_.pes_Profissao as pes46_60_14_, this_.pes_QtdeMesVaiIgreja as pes47_60_14_, this_.pes_QtdePesCasaFreqIeq as pes48_60_14_, this_.pes_Reencontro as pes49_60_14_, this_.pes_Rg as pes50_60_14_, this_.pes_Sexo as pes51_60_14_, this_.pes_Situacao as pes52_60_14_, this_.pes_VotaMun as pes53_60_14_, this_.site as site60_14_, this_.twitter as twitter60_14_, apresentac2_.codigo as codigo3_0_, apresentac2_.dataApresentacao as dataApre2_3_0_, apresentac2_.dataBatismo as dataBati3_3_0_, apresentac2_.igreja as igreja3_0_, apresentac2_.ministroOficiante as ministro5_3_0_, apresentac2_.motivoBatismo as motivoBa6_3_0_, apresentac2_.pessoas_pes_Codigo as pessoas7_3_0_, pessoas3_.pes_Codigo as pes1_60_1_, pessoas3_.apr_Codigo_codigo as apr56_60_1_, pessoas3_.bat_Codigo_codigo as bat57_60_1_, pessoas3_.celulas_cel_Codigo as celulas58_60_1_, pessoas3_.consolidador as consolid2_60_1_, pessoas3_.dataImportacao as dataImpo3_60_1_, pessoas3_.facebook as facebook60_1_, pessoas3_.ig_Codigo_codigo as ig59_60_1_, pessoas3_.mun_Municipios_codigo as mun60_60_1_, pessoas3_.pes_Bairro as pes5_60_1_, pessoas3_.pes_BatEspSanto as pes6_60_1_, pessoas3_.pes_CasadosSempre as pes7_60_1_, pessoas3_.pes_Cep as pes8_60_1_, pessoas3_.pes_Complemento as pes9_60_1_, pessoas3_.pes_ConjugeMembro as pes10_60_1_, pessoas3_.pes_Cpf as pes11_60_1_, pessoas3_.pes_DataCasmento as pes12_60_1_, pessoas3_.pes_DataEmissaoCart as pes13_60_1_, pessoas3_.pes_DataInativacao as pes14_60_1_, pessoas3_.pes_DataNasc as pes15_60_1_, pessoas3_.pes_DataNascConjuge as pes16_60_1_, pessoas3_.pes_DataReintegracao as pes17_60_1_, pessoas3_.pes_DataSaidaReligAnt as pes18_60_1_, pessoas3_.pes_DataValCart as pes19_60_1_, pessoas3_.pes_Dizimista as pes20_60_1_, pessoas3_.pes_Email as pes21_60_1_, pessoas3_.pes_EncontroDeus as pes22_60_1_, pessoas3_.pes_Endereco as pes23_60_1_, pessoas3_.pes_EstCivil as pes24_60_1_, pessoas3_.pes_FoneCel as pes25_60_1_, pessoas3_.pes_FoneCom as pes26_60_1_, pessoas3_.pes_FoneRes as pes27_60_1_, pessoas3_.pes_Formacao as pes28_60_1_, pessoas3_.pes_FotoNome as pes29_60_1_, pessoas3_.pes_GrauInstrucao as pes30_60_1_, pessoas3_.pes_Inativo as pes31_60_1_, pessoas3_.pes_Itq as pes32_60_1_, pessoas3_.pes_MaeMembro as pes33_60_1_, pessoas3_.pes_MotivoInativacao as pes34_60_1_, pessoas3_.pes_MotivoSaidaReligAnt as pes35_60_1_, pessoas3_.pes_Nacionalidade as pes36_60_1_, pessoas3_.pes_Nome as pes37_60_1_, pessoas3_.pes_NomeConjuge as pes38_60_1_, pessoas3_.pes_NomeMae as pes39_60_1_, pessoas3_.pes_NomePai as pes40_60_1_, pessoas3_.pes_NumMembro as pes41_60_1_, pessoas3_.pes_Numero as pes42_60_1_, pessoas3_.pes_OrigemReligiosa as pes43_60_1_, pessoas3_.pes_PaiMembro as pes44_60_1_, pessoas3_.pes_PastorAtual as pes45_60_1_, pessoas3_.pes_Profissao as pes46_60_1_, pessoas3_.pes_QtdeMesVaiIgreja as pes47_60_1_, pessoas3_.pes_QtdePesCasaFreqIeq as pes48_60_1_, pessoas3_.pes_Reencontro as pes49_60_1_, pessoas3_.pes_Rg as pes50_60_1_, pessoas3_.pes_Sexo as pes51_60_1_, pessoas3_.pes_Situacao as pes52_60_1_, pessoas3_.pes_VotaMun as pes53_60_1_, pessoas3_.site as site60_1_, pessoas3_.twitter as twitter60_1_, batismo4_.codigo as codigo10_2_, batismo4_.bairro as bairro10_2_, batismo4_.cep as cep10_2_, batismo4_.complemento as compleme4_10_2_, batismo4_.congregacao_codigo as congreg24_10_2_, batismo4_.consolidador as consolid5_10_2_, batismo4_.dataBatismo as dataBati6_10_2_, batismo4_.dataImportacao as dataImpo7_10_2_, batismo4_.dataNascimento as dataNasc8_10_2_, batismo4_.email as email10_2_, batismo4_.endereco as endereco10_2_, batismo4_.facebook as facebook10_2_, batismo4_.foneCel as foneCel10_2_, batismo4_.foneCom as foneCom10_2_, batismo4_.foneRes as foneRes10_2_, batismo4_.ministroOficiante as ministr15_10_2_, batismo4_.motivoBatismo as motivoB16_10_2_, batismo4_.municipio_codigo as municipio25_10_2_, batismo4_.nome as nome10_2_, batismo4_.numOrdem as numOrdem10_2_, batismo4_.numero as numero10_2_, batismo4_.origemReligiosa as origemR20_10_2_, batismo4_.sexo as sexo10_2_, batismo4_.site as site10_2_, batismo4_.twitter as twitter10_2_, congregaca5_.codigo as codigo20_3_, congregaca5_.bairro as bairro20_3_, congregaca5_.cep as cep20_3_, congregaca5_.complemento as compleme4_20_3_, congregaca5_.dataCadastro as dataCada5_20_3_, congregaca5_.dataFundacao as dataFund6_20_3_, congregaca5_.email as email20_3_, congregaca5_.endereco as endereco20_3_, congregaca5_.fone1 as fone9_20_3_, congregaca5_.fone2 as fone10_20_3_, congregaca5_.igreja_codigo as igreja14_20_3_, congregaca5_.municipio_codigo as municipio15_20_3_, congregaca5_.nome as nome20_3_, congregaca5_.numero as numero20_3_, congregaca5_.pastor as pastor20_3_, municipios6_.codigo as codigo55_4_, municipios6_.nome as nome55_4_, municipios6_.uf as uf55_4_, celulas7_.cel_Codigo as cel1_16_5_, celulas7_.anfitriao_codigo as anfitriao11_16_5_, celulas7_.auxiliar_codigo as auxiliar12_16_5_, celulas7_.cel_DataAbertura as cel2_16_5_, celulas7_.cel_DataFechamento as cel3_16_5_, celulas7_.cel_Hora as cel4_16_5_, celulas7_.cel_Inativo as cel5_16_5_, celulas7_.cel_Motivo as cel6_16_5_, celulas7_.cel_Nome as cel7_16_5_, celulas7_.cel_Observacao as cel8_16_5_, celulas7_.cel_Semana as cel9_16_5_, celulas7_.cel_Tipo as cel10_16_5_, celulas7_.discipulador_codigo as discipu13_16_5_, celulas7_.lider_codigo as lider14_16_5_, anfitriaoc8_.codigo as codigo2_6_, anfitriaoc8_.descCurso as descCurso2_6_, anfitriaoc8_.grupoMissionario_codigo as grupoMis4_2_6_, anfitriaoc8_.membro_pes_Codigo as membro5_2_6_, anfitriaoc8_.possuiCurso as possuiCu3_2_6_, auxiliarce9_.codigo as codigo8_7_, auxiliarce9_.descCurso as descCurso8_7_, auxiliarce9_.grupoMissionario_codigo as grupoMis4_8_7_, auxiliarce9_.membro_pes_Codigo as membro5_8_7_, auxiliarce9_.possuiCurso as possuiCu3_8_7_, discipulad10_.codigo as codigo32_8_, discipulad10_.descCurso as descCurso32_8_, discipulad10_.grupoMissionario_codigo as grupoMis4_32_8_, discipulad10_.membro_pes_Codigo as membro5_32_8_, discipulad10_.possuiCurso as possuiCu3_32_8_, lidercelul11_.codigo as codigo50_9_, lidercelul11_.descCurso as descCurso50_9_, lidercelul11_.grupoMissionario_codigo as grupoMis4_50_9_, lidercelul11_.membro_pes_Codigo as membro5_50_9_, lidercelul11_.possuiCurso as possuiCu3_50_9_, congregaca12_.codigo as codigo20_10_, congregaca12_.bairro as bairro20_10_, congregaca12_.cep as cep20_10_, congregaca12_.complemento as compleme4_20_10_, congregaca12_.dataCadastro as dataCada5_20_10_, congregaca12_.dataFundacao as dataFund6_20_10_, congregaca12_.email as email20_10_, congregaca12_.endereco as endereco20_10_, congregaca12_.fone1 as fone9_20_10_, congregaca12_.fone2 as fone10_20_10_, congregaca12_.igreja_codigo as igreja14_20_10_, congregaca12_.municipio_codigo as municipio15_20_10_, congregaca12_.nome as nome20_10_, congregaca12_.numero as numero20_10_, congregaca12_.pastor as pastor20_10_, igreja13_.codigo as codigo47_11_, igreja13_.bairro as bairro47_11_, igreja13_.categoria as categoria47_11_, igreja13_.cep as cep47_11_, igreja13_.cnpj as cnpj47_11_, igreja13_.complemento as compleme6_47_11_, igreja13_.dataCad as dataCad47_11_, igreja13_.dataFun as dataFun47_11_, igreja13_.email as email47_11_, igreja13_.endereco as endereco47_11_, igreja13_.fone1 as fone11_47_11_, igreja13_.fone2 as fone12_47_11_, igreja13_.municipio_codigo as municipio16_47_11_, igreja13_.numero as numero47_11_, igreja13_.pastor as pastor47_11_, igreja13_.razaoSocial as razaoSo15_47_11_, municipios14_.codigo as codigo55_12_, municipios14_.nome as nome55_12_, municipios14_.uf as uf55_12_, municipios15_.codigo as codigo55_13_, municipios15_.nome as nome55_13_, municipios15_.uf as uf55_13_ from Pessoas this_ left outer join Apresentacao apresentac2_ on this_.apr_Codigo_codigo=apresentac2_.codigo left outer join Pessoas pessoas3_ on apresentac2_.pessoas_pes_Codigo=pessoas3_.pes_Codigo left outer join Batismo batismo4_ on this_.bat_Codigo_codigo=batismo4_.codigo left outer join Congregacao congregaca5_ on batismo4_.congregacao_codigo=congregaca5_.codigo left outer join Municipios municipios6_ on batismo4_.municipio_codigo=municipios6_.codigo left outer join Celulas celulas7_ on this_.celulas_cel_Codigo=celulas7_.cel_Codigo left outer join AnfitriaoCelula anfitriaoc8_ on celulas7_.anfitriao_codigo=anfitriaoc8_.codigo left outer join AuxiliarCelula auxiliarce9_ on celulas7_.auxiliar_codigo=auxiliarce9_.codigo left outer join Discipulador discipulad10_ on celulas7_.discipulador_codigo=discipulad10_.codigo left outer join LiderCelula lidercelul11_ on celulas7_.lider_codigo=lidercelul11_.codigo left outer join Congregacao congregaca12_ on this_.ig_Codigo_codigo=congregaca12_.codigo left outer join Igreja igreja13_ on congregaca12_.igreja_codigo=igreja13_.codigo left outer join Municipios municipios14_ on congregaca12_.municipio_codigo=municipios14_.codigo left outer join Municipios municipios15_ on this_.mun_Municipios_codigo=municipios15_.codigo where month(pes_DataNasc) = 1
org.hibernate.exception.ConstraintViolationException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2223)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at DAO.PessoasDAO.selecionarAniver(PessoasDAO.java:179)
at View.Aniversariantes.carregaAniversariantes(Aniversariantes.java:55)
at View.Aniversariantes.formWindowOpened(Aniversariantes.java:239)
at View.Aniversariantes.access$000(Aniversariantes.java:18)
at View.Aniversariantes$1.windowOpened(Aniversariantes.java:112)
at java.awt.AWTEventMulticaster.windowOpened(AWTEventMulticaster.java:322)
at java.awt.Window.processWindowEvent(Window.java:1859)
at javax.swing.JDialog.processWindowEvent(JDialog.java:633)
at java.awt.Window.processEvent(Window.java:1820)
at java.awt.Component.dispatchEventImpl(Component.java:4583)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1051)
at java.awt.Dialog$3.run(Dialog.java:1103)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1101)
at java.awt.Component.show(Component.java:1516)
at java.awt.Component.setVisible(Component.java:1468)
at java.awt.Window.setVisible(Window.java:841)
at java.awt.Dialog.setVisible(Dialog.java:991)
at View.Aniversariantes$5.run(Aniversariantes.java:287)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'pes_DataNasc' in where clause is ambiguous
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2275)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
... 39 more
CONSTRUÍDO COM SUCESSO (tempo total: 11 segundos)
Se puderem me ajudar eu agradeço!
Abraço…
Guilherme