Pessal, estou com um problema e não estou conseguindo identificar a solução do mesmo.
Mapeei duas classes, sendo Usuario e Telefone, verifiquei tudo e não consegui localizar erro algum!.
Poderiam me ajudar?
Segue o erro abaixo:
out 31, 2017 11:38:04 AM org.hibernate.ejb.HibernatePersistence logDeprecation
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead.
out 31, 2017 11:38:04 AM org.hibernate.ejb.HibernatePersistence logDeprecation
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead.
out 31, 2017 11:38:04 AM org.hibernate.ejb.HibernatePersistence logDeprecation
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead.
out 31, 2017 11:38:04 AM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
INFO: HHH000204: Processing PersistenceUnitInfo [
name: Mb
…]
out 31, 2017 11:38:04 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.11.Final}
out 31, 2017 11:38:04 AM org.hibernate.cfg.Environment
INFO: HHH000206: hibernate.properties not found
out 31, 2017 11:38:04 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
out 31, 2017 11:38:06 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager
INFO: HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
out 31, 2017 11:38:06 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!)
out 31, 2017 11:38:06 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost/muambyte]
out 31, 2017 11:38:06 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000046: Connection properties: {user=root, password=****}
out 31, 2017 11:38:06 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000006: Autocommit mode: false
out 31, 2017 11:38:06 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
out 31, 2017 11:38:07 AM org.hibernate.dialect.Dialect
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
Exception in thread “main” javax.persistence.PersistenceException: [PersistenceUnit: Mb] Unable to build Hibernate SessionFactory
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1249)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.access$600(EntityManagerFactoryBuilderImpl.java:120)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:860)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850)
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849)
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:75)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
at br.com.Muambyte.DbConnection.ConnectionFactory.getConnection(ConnectionFactory.java:13)
at Teste.main(Teste.java:8)
Caused by: org.hibernate.MappingException: Could not determine type for: br.com.Muambyte.usuario.Usuario, at table: Endereco, for columns: [org.hibernate.mapping.Column(usuario)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:349)
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:322)
at org.hibernate.mapping.Property.isValid(Property.java:241)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:496)
at org.hibernate.mapping.RootClass.validate(RootClass.java:270)
at org.hibernate.cfg.Configuration.validate(Configuration.java:1360)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1851)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857)
… 9 more
– Segue as classes abaixo
package br.com.Muambyte.endereco;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.OneToOne;
import br.com.Muambyte.usuario.Usuario;
@Entity
@IdClass(EnderecoPK.class)
public class Endereco {
//MEMBROS
@Id
private int cep;
@Id
private int numero;
@Column(nullable=false,length=40)
private String rua;
@Column(nullable=true,length=30)
private String complemento;
//MEMBROS ESTRANGEIROS
@OneToOne(mappedBy="endereco")
private Usuario usuario;
//GETTERS AND SETTERS
@Id
public int getCep() {
return cep;
}
@Id
public void setCep(int cep) {
this.cep = cep;
}
@Id
public int getNumero() {
return numero;
}
@Id
public void setNumero(int numero) {
this.numero = numero;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
}
–
package br.com.Muambyte.endereco;
import java.io.Serializable;
public class EnderecoPK implements Serializable{
//UID
private static final long serialVersionUID = 1L;
//CONSTRUTORES
public EnderecoPK(int pCep,int pNumero){
this.cep=pCep;
this.numero = pNumero;
}
public EnderecoPK(){
}
//MEMBROS
private int cep;
private int numero;
//GETTERS AND SETTERS
public int getCep() {
return cep;
}
public void setCep(int cep) {
this.cep = cep;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
}
package br.com.Muambyte.usuario;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import br.com.Muambyte.endereco.Endereco;
@Entity
public class Usuario {
//MEMBROS
@Id @Column()
private String email;
@Column(length=20, nullable=false)
private String senha;
@Column(length=25, nullable=false)
private String nome;
@Column(length=25, nullable=false)
private String sobrenome;
@Column(columnDefinition="char defalt A")
private Character status;
@Column(length=15, nullable=true)
private String telefoneRes;
@Column(length=12, nullable=true)
private String telefoneCel;
//MEMBROS ESTRANGEIROS
@OneToOne
private Endereco endereco;
//CONSTRUTOR
public Usuario(){
}
//GETTERS AND SETTERS
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
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 Character getStatus() {
return status;
}
public void setStatus(Character status) {
this.status = status;
}
public String getTelefoneRes() {
return telefoneRes;
}
public void setTelefoneRes(String telefoneRes) {
this.telefoneRes = telefoneRes;
}
public String getTelefoneCel() {
return telefoneCel;
}
public void setTelefoneCel(String telefoneCel) {
this.telefoneCel = telefoneCel;
}
}
PERSITENCE.XML
org.hibernate.ejb.HibernatePersistence
br.com.Muambyte.usuario.Usuario
br.com.Muambyte.endereco.Endereco
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/muambyte" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="1234" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>