Hibernate 5.01, JPA 2.1, mysql 5.1.38 não encontra o banco de dados
26/03/2016
0
estou fazendo umas videos aulas de java web e criei um banco chamado sgc configurei tudo conforme a aula , eclipse não encontra o banco,
log gerado:
mar 26, 2016 1:04:16 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.1.0.Final}
mar 26, 2016 1:04:16 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
mar 26, 2016 1:04:16 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
mar 26, 2016 1:04:21 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
mar 26, 2016 1:04:23 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
mar 26, 2016 1:04:23 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/sgc]
mar 26, 2016 1:04:23 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {user=root, password=****}
mar 26, 2016 1:04:23 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
mar 26, 2016 1:04:23 PM org.hibernate.engine.jdbc.connections.internal.PooledConnections <init>
INFO: HHH000115: Hibernate connection pool size: 1 (min=1)
mar 26, 2016 1:04:27 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
minha estrutura :
[img]http://arquivo.devmedia.com.br/forum/imagem/420783-20160326-135204%20%281%29.png[/img]
hibernate.cfg.xml:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Configurações da conexão -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/sgc</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- Habilita o gerenciamento de contexto de sessão com SGBD automatico
(uso de getCurrentSession) -->
<property name="hibernate.current_session_context_class">thread</property>
<!-- Poll de conexões JDBC -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<!-- Gerenciamento de Sessão -->
<property name="current_session_context_class">thread</property>
<!-- Desabilita a cache -->
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
<!-- Exibe os comandos SQL -->
<property name="show_sql">true</property>
<!-- Cria as Tabelas -->
<property name="hbm2ddl.auto">update</property>
<mapping class="br.com.sgc.domain.Categoria" />
</session-factory>
</hibernate-configuration>
classes:
package br.com.sgc.domain;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* A classe persistente para a tabela de banco de dados de categoria.
*
*/
@Entity
@Table(name = "categoria", schema = "sgc")
public class Categoria implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "idCategoria")
private Integer idCategoria;
@Column(name = "nome", length = 100, nullable = false)
private String nome;
public Categoria() {
}
public Integer getIdCategoria() {
return this.idCategoria;
}
public void setIdCategoria(Integer idCategoria) {
this.idCategoria = idCategoria;
}
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((idCategoria == null) ? 0 : idCategoria.hashCode());
result = prime * result + ((nome == null) ? 0 : nome.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Categoria other = (Categoria) obj;
if (idCategoria == null) {
if (other.idCategoria != null)
return false;
} else if (!idCategoria.equals(other.idCategoria))
return false;
if (nome == null) {
if (other.nome != null)
return false;
} else if (!nome.equals(other.nome))
return false;
return true;
}
}
package br.com.sgc.dao;
import org.hibernate.*;
import br.com.sgc.domain.Categoria;
import br.com.sgc.util.HibernateUtil;
public class CategoriaDAO{
// private Session sessao;
// private Transaction transacao;
// METODO DE INSERÇÃO NO BANCO DE DADOS EXEMPLO VIDEO AULA
public void salvar(Categoria categoria){
Session sessao = HibernateUtil.getSessionFactory().openSession();
Transaction transacao = null;
try{
transacao = sessao.beginTransaction();
System.out.println("passou na fase 1");
sessao.save(categoria);
transacao.commit();
System.out.println("passou na fase 2");
}catch(RuntimeException ex){
if(transacao != null)
transacao.rollback();
System.out.println("deu rollback");
} finally{
sessao.close();
}
}
}
package br.com.sgc.util;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
// Cria um SessionFactory a partir hibernate.cfg.xml
Configuration configuration = new Configuration();
configuration.configure();
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties()).build();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
return sessionFactory;
} catch (Throwable ex) {
// Exibe uma mensagem de erro
System.err.println("Falha ao tentar criar o SessionFactory." + ex);
throw new ExceptionInInitializerError(ex);
}
}
}
package br.com.sgc.teste;
import org.junit.Test;
import br.com.sgc.dao.CategoriaDAO;
import br.com.sgc.domain.Categoria;
public class CategoriaTest {
@Test
public void salvar() {
Categoria c1 = new Categoria();
CategoriaDAO cdao = new CategoriaDAO();
c1.setNome("Informatica");
cdao.salvar(c1);
}
}
Se alguem souber como solucionar esse erro
Desde já agradeço
Cassius Silva
Posts
26/03/2016
Cassius Silva
26/03/2016
Eduardo Pessoa
# JDBC PROPERTIES jdbc.user = root jdbc.pass = root jdbc.url = jdbc:mysql://localhost:3306/blog jdbc.driverClass = com.mysql.jdbc.Driver
Imagem:
[img]http://arquivo.devmedia.com.br/forum/imagem/310862-20160326-144911.jpg[/img]
26/03/2016
Cassius Silva
pois no hibernate já tem a configuração de conexão com o banco
aonde eu crio esse arquivo?
Clique aqui para fazer login e interagir na Comunidade :)