[RESOLVIDO] Hibernate não insere

Bom dia, recentemente iniciei meus estudos sobre hibernate, e estou tentando fazer um código de inserção no BD, mas por algum motivo ele não está inserindo. É minha primeira postagem aqui então peço desculpas se tiver algo errado.

Segue abaixo os códigos:

pom.xml


4.0.0

<groupId>pos-java-maven-hibernate</groupId>
<artifactId>pos-java-maven-hibernate</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>pos-java-maven-hibernate</name>
<url>http://maven.apache.org</url>

<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.12</version>
		<scope>test</scope>
	</dependency>

	<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.49</version>
	</dependency>

	<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core-->
	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-core</artifactId>
		<version>5.4.15.Final</version>
	</dependency> 


	<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager--> 
	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-entitymanager</artifactId>
		<version>5.4.15.Final</version>
	</dependency> 

	
	<dependency>
		<groupId>javax.xml.bind</groupId>
		<artifactId>jaxb-api</artifactId>
		<version>2.3.0</version>
	</dependency>


</dependencies>

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>


	<class>model.UsuarioPessoa</class>

	<properties>

		<!-- DADOS DE CONEXAO -->
		<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
		<property name="hibernate.connection.url"
			value="jdbc:mysql://localhost:3306/posjavahibernate" />
		<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDB53Dialect" />
		<property name="hibernate.connection.username" value="root" />
		<property name="hibernate.connection.password" value="" />
		<property name="hibernate.hbm2ddl.auto" value="update" />
		<property name="hibernate.show_sql" value="true" />

	</properties>

</persistence-unit>

HibernateUtil.java

package posjavamavenhibernate;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class HibernateUtil {

public static EntityManagerFactory factory = null;

static {
	init();
}

private static void init() {

	try {

		if (factory == null) {
			factory = Persistence.createEntityManagerFactory("pos-java-maven-hibernate");
		}

	} catch (Exception e) {
		e.printStackTrace();
	}
}

public static EntityManager geEntityManager() {
	return factory.createEntityManager();

}

}

DaoGeneric.java

package dao;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

import org.junit.Test;

import posjavamavenhibernate.HibernateUtil;

public class DaoGeneric {

private EntityManager entityManager = HibernateUtil.geEntityManager();

@Test
public void salvar(E entidade) {
	EntityTransaction transaction = entityManager.getTransaction();
	transaction.begin();
	entityManager.persist(entidade);
	transaction.commit();
}

}

UsuarioPessoa.java

package model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class UsuarioPessoa {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", length = 11, nullable = false)
private Long id;

@Column(name = "nome", length = 16, nullable = false)
private String nome;

@Column(name = "sobrenome", length = 32, nullable = false)
private String sobrenome;

@Column(name = "email", length = 32, nullable = false)
private String email;

@Column(name = "login", length = 16, nullable = false)
private String login;

@Column(name = "senha", length = 16, nullable = false)
private String senha;

@Column(name = "idade", length = 3, nullable = false)
private int idade;

public Long getId() {
	return id;
}

public void setId(Long id) {
	this.id = id;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getSobrenome() {
	return sobrenome;
}

public void setSobrenome(String sobrenome) {
	this.sobrenome = sobrenome;
}

public String getEmail() {
	return email;
}

public void setEmail(String email) {
	this.email = email;
}

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 getIdade() {
	return idade;
}

public void setIdade(int idade) {
	this.idade = idade;
}

}

TesteHibernate.java

package posjavamavenhibernate;

import org.junit.Test;

import dao.DaoGeneric;
import model.UsuarioPessoa;

public class TesteHibernate {

@Test
public void testeHibernateUtil() {
	DaoGeneric<UsuarioPessoa> daoGeneric = new DaoGeneric<UsuarioPessoa>();
		
	UsuarioPessoa pessoa = new UsuarioPessoa();
	
	pessoa.setNome("Mateus");
	pessoa.setSobrenome("Luiz");
	pessoa.setEmail("mateus.luiz@gmail.com");
	pessoa.setIdade(18);
	pessoa.setLogin("mateus.luiz");
	pessoa.setSenha("123");
	daoGeneric.salvar(pessoa);
	
	//HibernateUtil.geEntityManager();
	
}

}

Quando eu tento executar com o BD vazio ele cria a tabela, mas não insere, e quando eu tenho executar com alguma coluna nova ele não atualiza…

No código que você enviou estar faltando definir o nome da unidade de persistência

 <persistence-unit name="pos-java-maven-hibernate">
1 curtida

Na verdade acho que não foi na hora que enviei, pois no persistence já está definido.

Adiciona essa linha no persistence.xml e ver se dá certo

<provider>org.hibernate.ejb.HibernatePersistence</provider> 

logo após o persistence-unit name

Eu refiz o código todo e agora funcionou, mas obrigado pela ajuda!