Estou iniciando com hibernate + jsf + ajax estou fazendo exemplo do blog Java Anywhere do eduardo bregaida so que quando eu vou executar a classe geraBanco ele da seguinte erro :
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class GeraBanco {
public static void main(String[] args) {
Configuration configuration = new AnnotationConfiguration();
configuration.configure();
SchemaExport schemaExport = new SchemaExport(configuration);
schemaExport.create(true, true);
}
}
e as exceções foram as seguintes:
16:28:55,280 INFO Version:15 - Hibernate Annotations 3.2.0.GA
16:28:55,343 INFO Environment:500 - Hibernate 3.2.0
16:28:55,343 INFO Environment:533 - hibernate.properties not found
16:28:55,389 INFO Environment:667 - Bytecode provider name : cglib
16:28:55,530 INFO Environment:584 - using JDK 1.4 java.sql.Timestamp handling
16:28:55,764 INFO Configuration:1350 - configuring from resource: /hibernate.cfg.xml
16:28:55,764 INFO Configuration:1327 - Configuration resource: /hibernate.cfg.xml
16:28:56,749 INFO Configuration:1465 - Configured SessionFactory: null
16:28:56,796 INFO Dialect:141 - Using dialect: org.hibernate.dialect.MySQLDialect
16:28:57,046 INFO AnnotationBinder:387 - Binding entity from annotated class: br.com.caelum.acesso.Acesso
16:28:57,124 INFO EntityBinder:340 - Bind entity br.com.caelum.acesso.Acesso on table Acesso
16:28:57,202 INFO AnnotationBinder:387 - Binding entity from annotated class: br.com.caelum.dados.Dados
16:28:57,202 INFO EntityBinder:340 - Bind entity br.com.caelum.dados.Dados on table Dados
16:28:57,218 INFO AnnotationBinder:387 - Binding entity from annotated class: br.com.caelum.fornecedor.Fornecedor
16:28:57,218 INFO EntityBinder:340 - Bind entity br.com.caelum.fornecedor.Fornecedor on table Fornecedor
16:28:57,218 INFO AnnotationBinder:387 - Binding entity from annotated class: br.com.caelum.contapagar.ContaPagar
16:28:57,218 INFO EntityBinder:340 - Bind entity br.com.caelum.contapagar.ContaPagar on table ContaPagar
16:28:57,780 INFO SchemaExport:154 - Running hbm2ddl schema export
16:28:57,796 INFO SchemaExport:179 - exporting generated schema to database
16:28:57,796 INFO C3P0ConnectionProvider:50 - C3P0 using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/teste
16:28:57,796 INFO C3P0ConnectionProvider:51 - Connection properties: {user=root, password=****}
16:28:57,796 INFO C3P0ConnectionProvider:54 - autocommit mode: false
16:29:28,983 WARN BasicResourcePool:1222 - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@110c31 – Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30).
16:29:28,999 ERROR SchemaExport:202 - schema export unsuccessful
java.sql.SQLException: Connections could not be acquired from the underlying database!
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:104)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:236)
at com.mchange.v2.c3p0.PoolBackedDataSource.getConnection(PoolBackedDataSource.java:94)
at org.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:35)
at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:28)
at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180)
at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133)
at br.com.caelum.hibernate.gerabanco.GeraBanco.main(GeraBanco.java:19)
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAcquire(BasicResourcePool.java:970)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:208)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:232)
… 6 more
16:29:29,280 WARN BasicResourcePool:1222 - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1a68ef9 – Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30).
hibernate :
org.hibernate.dialect.MySQLDialect jdbc:mysql://localhost/teste com.mysql.jdbc.Driver root root<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<!-- usar C3P0 Pool de conexões-->
<property name="hibernate.c3p0.min_size">1</property>
<property name="hibernate.c3p0.max_size">10</property>
<property name="hibernate.c3p0.maxIdleTime">200</property>
<property name="hibernate.c3p0.timeout">180</property>
<property name="hibernate.c3p0.idle_test_period">100</property>
<property name="hibernate.c3p0.max-statements">50</property>
<!-- Cache 2 nível-->
<property name="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider</property>
<mapping class="br.com.caelum.acesso.Acesso"/>
<mapping class="br.com.caelum.dados.Dados"/>
<mapping class="br.com.caelum.fornecedor.Fornecedor"/>
<mapping class="br.com.caelum.contapagar.ContaPagar"/>
</session-factory>
e as classes :
/**
- Login e acesso ao sistema
*/
package br.com.caelum.acesso;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import org.hibernate.Session;
import br.com.caelum.acessodao.AcessoDAO;
import br.com.caelum.hibernate.hibernateutil.HibernateUtil;
@Entity
public class Acesso {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
int id;
private String login;
private String senha;
private boolean administrador;
public boolean isAdministrador() {
return administrador;
}
public void setAdministrador(boolean administrador) {
this.administrador = administrador;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String logar() {
Session session = HibernateUtil.openSession();
AcessoDAO acessoDAO = new AcessoDAO(session);
return acessoDAO.verificaAutenticacao(this);
}
public void salvar() {
Session session = HibernateUtil.openSession();
AcessoDAO acessoDAO = new AcessoDAO(session);
acessoDAO.salvaUsuario(this);
}
public void deletar() {
Session session = HibernateUtil.openSession();
AcessoDAO acessoDAO = new AcessoDAO(session);
acessoDAO.excluiUsuario(this);
}
}
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Dados {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nome;
private String telefoneResidencial;
private String telefoneComercial;
private String celular;
private String nextel;
private String email;
private String observacao;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getNextel() {
return nextel;
}
public void setNextel(String nextel) {
this.nextel = nextel;
}
public String getObservacao() {
return observacao;
}
public void setObservacao(String observacao) {
this.observacao = observacao;
}
public String getTelefoneComercial() {
return telefoneComercial;
}
public void setTelefoneComercial(String telefoneComercial) {
this.telefoneComercial = telefoneComercial;
}
public String getTelefoneResidencial() {
return telefoneResidencial;
}
public void setTelefoneResidencial(String telefoneResidencial) {
this.telefoneResidencial = telefoneResidencial;
}
}
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Fornecedor {
@Id
@GeneratedValue
private Long id;
private String nome;
private String descricao;
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import br.com.caelum.fornecedor.Fornecedor;
@Entity
public class ContaPagar {
@Id
@GeneratedValue
private long id;
private String descricao;
private Double valor;
@Temporal(TemporalType.DATE)
private Calendar data = new GregorianCalendar();
private boolean pago;
//Sempre para lista -> lê se, muitas contar para 1 fornecedor
@ManyToOne
private Fornecedor fornecedor;
public Calendar getData() {
return data;
}
public void setData(Calendar data) {
this.data = data;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public Fornecedor getFornecedor() {
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
public boolean isPago() {
return pago;
}
public void setPago(boolean pago) {
this.pago = pago;
}
public Double getValor() {
return valor;
}
public void setValor(Double valor) {
this.valor = valor;
}
}
alguém pode me ajudar URGENTE, espero que opinem!!!
valeu

