Erro do hibernate dúvida

Olá bom dia estou tendo um probleminha nessa aplicação, alguém saberia informar qual poderia ser a solução desse erro?

obrigado!

segue o código…

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

<properties>
        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/cadastro_cliente"/>
		<property name="javax.persistence.jdbc.user" value="root"/>
		<property name="javax.persistence.jdbc.password" value="root"/>
		<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>

         !-- validate | update | create | create-drop -->
		<property name="hibernate.hbm2ddl.auto" value="update"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>


</properties>

package com.algaworks.curso.main;

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

import com.algaworks.curso.modelo.Cliente;

public class SalvandoPrimeiroObjeto {

public static void main(String[] args) {
	EntityManagerFactory emf = Persistence.createEntityManagerFactory("exemploPU");
	EntityManager em = emf.createEntityManager();
	
	Cliente cliente = new Cliente();
	cliente.setNome("Pedro Bial");
    cliente.setIdade(40);
    cliente.setProfissao("Jornalista");
    cliente.setSexo("M");
    
	
	
	
	
	em.getTransaction().begin();
	em.persist(cliente);
	em.getTransaction().commit();
	
	System.out.println("Cliente salvo com sucesso!");
	//em.close();

}

}

package com.algaworks.curso.modelo;

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

@Entity
public class Cliente {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long codigo;
private String nome;
private Integer idade;
private String sexo;
private String profissao;

public Long getCodigo() {
	return codigo;
}
public void setCodigo(Long codigo) {
	this.codigo = codigo;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public Integer getIdade() {
	return idade;
}
public void setIdade(Integer idade) {
	this.idade = idade;
}
public String getSexo() {
	return sexo;
}
public void setSexo(String sexo) {
	this.sexo = sexo;
}
public String getProfissao() {
	return profissao;
}
public void setProfissao(String profissao) {
	this.profissao = profissao;
}

}

mar 17, 2018 8:25:05 AM org.hibernate.annotations.common.Version
INFO: HCANN000001: Hibernate Commons Annotations {4.0.2.Final}
mar 17, 2018 8:25:06 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.2.3.Final}
mar 17, 2018 8:25:06 AM org.hibernate.cfg.Environment
INFO: HHH000206: hibernate.properties not found
mar 17, 2018 8:25:06 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Exception in thread “main” javax.persistence.PersistenceException: Invalid persistence.xml.
Error parsing XML (line-1 : column -1): cvc-complex-type.2.3: O elemento ‘properties’ não pode ter um caractere [children] porque o tipo de conteúdo do tipo é somente elemento.

at org.hibernate.ejb.packaging.PersistenceXmlLoader.loadURL(PersistenceXmlLoader.java:147)
at org.hibernate.ejb.packaging.PersistenceXmlLoader.deploy(PersistenceXmlLoader.java:171)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:326)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:58)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
at com.algaworks.curso.main.SalvandoPrimeiroObjeto.main(SalvandoPrimeiroObjeto.java:12)

Postar código ajuda.

Acho que falta vc indicar no arquivo hibernate.cfg.xml ou persistente.xml, que a classe cliente e uma classe que vai ser persistida .

tipo isso …

<mapping class="com.algaworks.curso.modelo.Cliente" />

dessa forma o hibernante vai saber que a classe cliente e uma entidade e representa uma tabela do banco de dados

Estas linhas dizem que não tem nada a ver com não ter encontrado a classe (pode até ser que haja este problema no persistence.xml, mas, o erro é específico e diz respeito à formatação do arquivo em questão.

1 curtida

package com.algaworks.curso.main;

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

import com.algaworks.curso.modelo.Cliente;

public class SalvandoPrimeiroObjeto {

public static void main(String[] args) {
	EntityManagerFactory emf = Persistence.createEntityManagerFactory("exemploPU");
	EntityManager em = emf.createEntityManager();
	
	Cliente cliente = new Cliente();
	cliente.setNome("Pedro Bial");
    cliente.setIdade(40);
    cliente.setProfissao("Jornalista");
    cliente.setSexo("M");
    
	
	
	
	
	em.getTransaction().begin();
	em.persist(cliente);
	em.getTransaction().commit();
	
	System.out.println("Cliente salvo com sucesso!");
	//em.close();

}

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

<properties>
        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/cadastro_cliente"/>
		<property name="javax.persistence.jdbc.user" value="root"/>
		<property name="javax.persistence.jdbc.password" value="root"/>
		<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>

         !-- validate | update | create | create-drop -->
		<property name="hibernate.hbm2ddl.auto" value="update"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>


</properties>
package com.algaworks.curso.modelo;

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

@Entity
public class Cliente {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long codigo;
private String nome;
private Integer idade;
private String sexo;
private String profissao;

public Long getCodigo() {
	return codigo;
}
public void setCodigo(Long codigo) {
	this.codigo = codigo;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public Integer getIdade() {
	return idade;
}
public void setIdade(Integer idade) {
	this.idade = idade;
}
public String getSexo() {
	return sexo;
}
public void setSexo(String sexo) {
	this.sexo = sexo;
}
public String getProfissao() {
	return profissao;
}
public void setProfissao(String profissao) {
	this.profissao = profissao;
}

}

Tem certeza que este é o que esta linha deveria, realmente, conter?

Não seria isso

<!-- validate | update | create | create-drop -->

Brigadão Darlan já tinha achado era esse mesmo o erro!

tava me sentindo incapaz aqui e desanimado brigado mesmo

Cara, eu fiz um curso de técnico de computadores, em 2000 e bolinha, lembro que o professor, do alto de seus quase 40 anos de profissão, disse “Se você tá com um problema, há muito tempo, e já não vê nada de errado. Para, dá um volta, toma um café e depois volta. Com certeza você vai achar o erro”.
Desanima não, use essas dificuldades como motivação, para ir além todos os dias.

2 curtidas

Verdade essas coisas tornam a gente mais forte depois que vencemos, acho que subimos um degrau mesmo que seja muito pequeno em direção aos nosso objetivo , não deixa de ser um progresso. =)