Galera… pedi pro netbeans gerar uma classe de entidade pra mim à partir de uma tabela com chave composta… pra eu usar com Hibernate…enfim… ele gerou duas…uma dela está como PK… não entendi a lógica disso…
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Entities;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
*
* @author Vinicius
*/
@Entity
@Table(name = "funcionario")
@NamedQueries({@NamedQuery(name = "Funcionario.findAll", query = "SELECT f FROM Funcionario f"), @NamedQuery(name = "Funcionario.findByRg", query = "SELECT f FROM Funcionario f WHERE f.funcionarioPK.rg = :rg"), @NamedQuery(name = "Funcionario.findByEmpresaId", query = "SELECT f FROM Funcionario f WHERE f.funcionarioPK.empresaId = :empresaId")})
public class Funcionario implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected FuncionarioPK funcionarioPK;
@Basic(optional = false)
@Lob
@Column(name = "CRACHA")
private String cracha;
@Lob
@Column(name = "NOME")
private String nome;
@Lob
@Column(name = "CENTRO_CUSTO")
private String centroCusto;
@JoinColumn(name = "EMPRESA_ID", referencedColumnName = "ID", insertable = false, updatable = false)
@ManyToOne(optional = false)
private Empresa empresa;
public Funcionario() {
}
public Funcionario(FuncionarioPK funcionarioPK) {
this.funcionarioPK = funcionarioPK;
}
public Funcionario(FuncionarioPK funcionarioPK, String cracha) {
this.funcionarioPK = funcionarioPK;
this.cracha = cracha;
}
public Funcionario(int rg, int empresaId) {
this.funcionarioPK = new FuncionarioPK(rg, empresaId);
}
public FuncionarioPK getFuncionarioPK() {
return funcionarioPK;
}
public void setFuncionarioPK(FuncionarioPK funcionarioPK) {
this.funcionarioPK = funcionarioPK;
}
public String getCracha() {
return cracha;
}
public void setCracha(String cracha) {
this.cracha = cracha;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCentroCusto() {
return centroCusto;
}
public void setCentroCusto(String centroCusto) {
this.centroCusto = centroCusto;
}
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
@Override
public int hashCode() {
int hash = 0;
hash += (funcionarioPK != null ? funcionarioPK.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Funcionario)) {
return false;
}
Funcionario other = (Funcionario) object;
if ((this.funcionarioPK == null && other.funcionarioPK != null) || (this.funcionarioPK != null && !this.funcionarioPK.equals(other.funcionarioPK))) {
return false;
}
return true;
}
@Override
public String toString() {
return "Entities.Funcionario[funcionarioPK=" + funcionarioPK + "]";
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Entities;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Embeddable;
/**
*
* @author Vinicius
*/
@Embeddable
public class FuncionarioPK implements Serializable {
@Basic(optional = false)
@Column(name = "RG")
private int rg;
@Basic(optional = false)
@Column(name = "EMPRESA_ID")
private int empresaId;
public FuncionarioPK() {
}
public FuncionarioPK(int rg, int empresaId) {
this.rg = rg;
this.empresaId = empresaId;
}
public int getRg() {
return rg;
}
public void setRg(int rg) {
this.rg = rg;
}
public int getEmpresaId() {
return empresaId;
}
public void setEmpresaId(int empresaId) {
this.empresaId = empresaId;
}
@Override
public int hashCode() {
int hash = 0;
hash += (int) rg;
hash += (int) empresaId;
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof FuncionarioPK)) {
return false;
}
FuncionarioPK other = (FuncionarioPK) object;
if (this.rg != other.rg) {
return false;
}
if (this.empresaId != other.empresaId) {
return false;
}
return true;
}
@Override
public String toString() {
return "Entities.FuncionarioPK[rg=" + rg + ", empresaId=" + empresaId + "]";
}
}