Pessoal
Estou tentando mapear 2 tabelas (usuario e setor) mas estou com problemas na parte de ManyToOne, OneToOne, OneToMany…
Eu entendi como funciona, mas na hora de aplicar estou tendo duvidas (pelo exemplo do livro). Eu tentei mapear mas qnd
eu dou start no tomcat ele da erro… Gostaria q vcs dessem uma olhada 
Se puderem me explicar o pq ta errado eu agradeco 
Banco: http://postimage.org/image/4fmic5t0v/
Mapeamento das 2 classes:
package requisicao.usuario;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import requisicao.setor.*;
@Entity
@Table(name="usuario")
public class Usuario implements Serializable{
/**
*
*/
private static final long serialVersionUID = -6755569886340789158L;
@Id
@GeneratedValue
@Column(name="codigo")
private Integer codigo;
@ManyToOne //N sei se isso ta ta certo, acho q errado
@JoinColumn(name="codigoSetor")
private Setor setor;
@Column(name="nome", length=45, nullable= true)
private String nome;
@Column(name="matricula", length=45, nullable= true)
private String matricula;
@Column(name="login", length=45, nullable= true)
private String login;
@Column(name="senha", length=45, nullable= true)
private String senha;
@Column(name="codigoSetor", nullable= true)
private Integer codigoSetor;
@Column(name="ativo")
private boolean ativo;
public Integer getCodigo() {
return codigo;
}
public void setCodigo(Integer codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getMatricula() {
return matricula;
}
public void setMatricula(String matricula) {
this.matricula = matricula;
}
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 static long getSerialversionuid() {
return serialVersionUID;
}
public boolean isAtivo() {
return ativo;
}
public void setAtivo(boolean ativo) {
this.ativo = ativo;
}
public Integer getCodigoSetor() {
return codigoSetor;
}
public void setCodigoSetor(Integer codigoSetor) {
this.codigoSetor = codigoSetor;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + (ativo ? 1231 : 1237);
result = prime * result + ((codigo == null) ? 0 : codigo.hashCode());
result = prime * result
+ ((codigoSetor == null) ? 0 : codigoSetor.hashCode());
result = prime * result + ((login == null) ? 0 : login.hashCode());
result = prime * result
+ ((matricula == null) ? 0 : matricula.hashCode());
result = prime * result + ((nome == null) ? 0 : nome.hashCode());
result = prime * result + ((senha == null) ? 0 : senha.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Usuario other = (Usuario) obj;
if (ativo != other.ativo)
return false;
if (codigo == null) {
if (other.codigo != null)
return false;
} else if (!codigo.equals(other.codigo))
return false;
if (codigoSetor == null) {
if (other.codigoSetor != null)
return false;
} else if (!codigoSetor.equals(other.codigoSetor))
return false;
if (login == null) {
if (other.login != null)
return false;
} else if (!login.equals(other.login))
return false;
if (matricula == null) {
if (other.matricula != null)
return false;
} else if (!matricula.equals(other.matricula))
return false;
if (nome == null) {
if (other.nome != null)
return false;
} else if (!nome.equals(other.nome))
return false;
if (senha == null) {
if (other.senha != null)
return false;
} else if (!senha.equals(other.senha))
return false;
return true;
}
}
package requisicao.setor;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@Table(name="setor")
public class Setor implements Serializable{
private static final long serialVersionUID = -3280733486545529194L;
@Column(name="codigo")
private int codigo;
@Column(name="nome", length=65, nullable= true)
private String nome;
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + codigo;
result = prime * result + ((nome == null) ? 0 : nome.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Setor other = (Setor) obj;
if (codigo != other.codigo)
return false;
if (nome == null) {
if (other.nome != null)
return false;
} else if (!nome.equals(other.nome))
return false;
return true;
}
}