Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33090

Hibernate erro em chave estrangeira @ManytoOne

$
0
0

@Bruno.Silveira escreveu:

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.(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>

Mensagens: 4

Participantes: 3

Ler tópico completo


Viewing all articles
Browse latest Browse all 33090


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>