PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Dúvidas Hibernate #563550

04/10/2016

0

Pessoal Estou começando a aprender Hibernate e estou com o seguinte problema no mapeamento abaixo:

duas entidades usuário e o seu perfil(admin,visitante etc)

1 perfil pode ser atribuído a vários usuário porem 1 usuário so pode ter 1 perfil.

Segue erro:

Initial SessionFactory creation failed.org.hibernate.AnnotationException: @OneToOne or @ManyToOne on br.com.teste.domain.Usuario.perfil references an unknown entity: br.com.teste.domain.Perfil
Exception in thread "main" java.lang.ExceptionInInitializerError
at br.com.teste.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:32)
at br.com.teste.util.HibernateUtil.<clinit>(HibernateUtil.java:12)
at br.com.teste.main.GerarTabela.main(GerarTabela.java:9)
Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on br.com.teste.domain.Usuario.perfil references an unknown entity: br.com.teste.domain.Perfil
at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:109)
at org.hibernate.cfg.Configuration.processEndOfQueue(Configuration.java:1598)
at org.hibernate.cfg.Configuration.processFkSecondPassInOrder(Configuration.java:1521)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1422)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1846)
at br.com.teste.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:25)
... 2 more



Segue meu codigo:

**********************classeperfil:*********************************************

package br.com.teste.domain;

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

@Entity
@Table(name="Perfil")


public class Perfil {

@Id
@Column (name="per_id",nullable=false)
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;

@Column (name="per_descricao" ,length=50,nullable=false)
private String descricao;

public Long getId() {
return id;
}

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

public String getDescricao() {
return descricao;
}

public void setDescricao(String descricao) {
this.descricao = descricao;
}


}

*******************************************classe usuario****************************************

package br.com.teste.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="Usuario")

public class Usuario {

@Id
@Column (name="us_id")
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;

@Column (name="us_nome" ,length=45,nullable=false)
private String nome;
@Column (name="us_email",length=45,nullable=false)
private String email;
@Column (name="us_login",length=45,nullable=false)
private String login;
@Column (name="us_senha",length=16,nullable=false)
private String senha;
@Column (name="us_ramal",nullable=false)
private int ramal;
@Column (name="us_obsevacao",length=45)
private String obsevacao;

@Column (name="us_situação",nullable=false)
private Boolean situação;

@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="Perfil_per_id",referencedColumnName="per_id",nullable=false)
private Perfil perfil;


public Perfil getPerfil() {
return perfil;
}
public void setPerfil(Perfil perfil) {
this.perfil = perfil;
}
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 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 getRamal() {
return ramal;
}
public void setRamal(int ramal) {
this.ramal = ramal;
}
public String getObsevacao() {
return obsevacao;
}
public void setObsevacao(String obsevacao) {
this.obsevacao = obsevacao;
}

public Boolean getSituação() {
return situação;
}
public void setSituação(Boolean situação) {
this.situação = situação;
}






}

*********arquivo confg************************

<?xml version='1.0' encoding='utf-8'?>
<!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>

<!-- configuracao de Conexao com o babco de dados -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/testepatrimonial</property>
<property name="connection.username">root</property>
<property name="connection.password">1234</property>

<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>

<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>

<!-- gerenciamento -->
<property name="current_session_context_class">thread</property>

<!-- desabilita o cache -->
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>

<!-- exige comandos sql -->
<property name="show_sql">true</property>

<!-- criacao das tabelas -->
<property name="hbm2ddl.auto">update</property>


<mapping class="br.com.teste.domain.Usuario"/>

</session-factory>

</hibernate-configuration>
Bruno Costa

Bruno Costa

Responder

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

Aceitar