Hibernate "could not instantiate id generator" alguem sabe?

7 respostas
D

estou com o seguinte problema…

Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@8032df 
[ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@135572b [ acquireIncrement -> 1, 
autoCommitOnClose -> false, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, 
factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, idleConnectionTestPeriod -> 0,
 initialPoolSize -> 5, maxIdleTime -> 1800, maxPoolSize -> 20, maxStatements -> 50, minPoolSize -> 5, 
nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@8bfdea [ description -> null, driverClass -> null,
 factoryClassLocation -> null, jdbcUrl -> jdbc:postgresql://localhost/teste, properties -> {user=teste, password=} ] ,
 propertyCycle -> 300, testConnectionOnCheckout -> false ] , factoryClassLocation -> null, numHelperThreads -> 3 ] 
net.sf.hibernate.MappingException: could not instantiate id generator
	at net.sf.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:82)
	at net.sf.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:82)
	at net.sf.hibernate.persister.AbstractEntityPersister.<init>(AbstractEntityPersister.java:635)
	at net.sf.hibernate.persister.EntityPersister.<init>(EntityPersister.java:716)
	at net.sf.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:42)
	at net.sf.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:136)
	at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:791)
	at com.web.teste.HibernateUtil.<init>(HibernateUtil.java:61)
	at org.apache.jsp.index_jsp._jspService(index_jsp.java:46)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
	at java.lang.Thread.run(Unknown Source)
Caused by: net.sf.hibernate.MappingException: Dialect does not support sequences
	at net.sf.hibernate.dialect.Dialect.getSequenceNextValString(Dialect.java:319)
	at net.sf.hibernate.id.SequenceGenerator.configure(SequenceGenerator.java:62)
	at net.sf.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:78)
	... 43 more

aqui segue o meu mapeamento

alguem ja teve esse problema??? acho que tem relação com o valor da sequence :cry:

Obrigado!

7 Respostas

Orlando

Tente mudar o <generator class=“sequence”> para <generator class=“vm”>

Abraço,

D

Valeu! alterei e não ta dando mais erro!

mas oque siguinifica o “vm”?? onde vc viu isso? :cry:

obg!

_fs

Também não vi essa opção na documentação não cara! hehe explica pra gente :smiley:

E duosan, vai na pasta da instalação do Hibernate > doc > reference > html_single > index.html
Lá tem uma lista dos generators possíveis e o que eles fazem.

D

valeu LIPE! vou dar uma olhada! outra coisa em relação ao “vm” no generator ele não está usando minha sequence :cry: como está incrementando a chave?

D

valeu LIPE! vou dar uma olhada! outra coisa em relação ao “vm” no generator ele não está usando minha sequence :cry: como está incrementando a chave?

G

tenta por o type dele junto com o vm no generator…

por exemplo
<generator class=“vm.long”/>

Abraços

C

Aproveitando a dúvida no sequence…
Eu,por ser ainda novato,não sei como usar uma sequence qualquer para ser usada como um simples gerador de números independente de tabela.
Como poderia fazer isso?

Ps:Base Oracle.

Criado 1 de dezembro de 2004
Ultima resposta 7 de abr. de 2006
Respostas 7
Participantes 5