Hibernate 5.01, JPA 2.1, mysql 5.1.38 não encontra o banco de dados

26/03/2016

0

Boa Tarde!

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

Cassius Silva

Responder

Posts

26/03/2016

Eduardo Pessoa

Qual o curso? posta o link da video aula.
Responder

26/03/2016

Cassius Silva

https://www.youtube.com/watch?v=IB13j4x4QZE&list=PL_GwGUsBlNydMdSOh8nYYRwD4tvPX1EIV
Responder

26/03/2016

Eduardo Pessoa

Existe um arquivo especifico para a comunicação com o banco de dados:


# 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]
Responder

26/03/2016

Cassius Silva

eu tenho que criar esse arquivo alem do hibernate.cfg.xml?
pois no hibernate já tem a configuração de conexão com o banco
aonde eu crio esse arquivo?
Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar