Queria saber se alguém consegue me ajudar com isso…
Eu to tentando a horas e horas fazer um JOIN com Criteria do hibernate… más não achei nenhum exemplo com o mesmo caso que eu…
Preciso fazer a seguinte query que no MySql ficaria ASsim…
SELECT * From DOCUMENT d , Beneficiado b WHERE d.id = b.id_doc AND b.nome LIKE ‘%…%’…
Olhei vários exemplos e eu conseguiria fazer se fosse um join de Beneficiados pra Document… más o que eu quero são todos os registros de Documents que contenham Beneficiados com nome de acordo com o Like…
Queria saber como faço isso com Criteria… Olha os mapeamentos ai…
Ta com Annotations… Será que preciso postar mais alguma coisa?
/*
* 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.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
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 = "beneficiado")
@NamedQueries({@NamedQuery(name = "Beneficiado.findAll", query = "SELECT b FROM Beneficiado b"), @NamedQuery(name = "Beneficiado.findById", query = "SELECT b FROM Beneficiado b WHERE b.id = :id")})
public class Beneficiado implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@Basic(optional = false)
@Lob
@Column(name = "nome")
private String nome;
@Basic(optional = false)
@Lob
@Column(name = "rg")
private String rg;
@Basic(optional = false)
@Lob
@Column(name = "cargo")
private String cargo;
@Basic(optional = false)
@Lob
@Column(name = "departamento")
private String departamento;
@Basic(optional = false)
@Lob
@Column(name = "ramal")
private String ramal;
@Basic(optional = false)
@Lob
@Column(name = "cc")
private String cc;
@Basic(optional = false)
@Lob
@Column(name = "planta")
private String planta;
@JoinColumn(name = "id_doc", referencedColumnName = "id")
@ManyToOne(optional = false)
private Document idDoc;
public Beneficiado() {
}
public Beneficiado(Integer id) {
this.id = id;
}
public Beneficiado(Integer id, String nome, String rg, String cargo, String departamento, String ramal, String cc, String planta) {
this.id = id;
this.nome = nome;
this.rg = rg;
this.cargo = cargo;
this.departamento = departamento;
this.ramal = ramal;
this.cc = cc;
this.planta = planta;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getCargo() {
return cargo;
}
public void setCargo(String cargo) {
this.cargo = cargo;
}
public String getDepartamento() {
return departamento;
}
public void setDepartamento(String departamento) {
this.departamento = departamento;
}
public String getRamal() {
return ramal;
}
public void setRamal(String ramal) {
this.ramal = ramal;
}
public String getCc() {
return cc;
}
public void setCc(String cc) {
this.cc = cc;
}
public String getPlanta() {
return planta;
}
public void setPlanta(String planta) {
this.planta = planta;
}
public Document getIdDoc() {
return idDoc;
}
public void setIdDoc(Document idDoc) {
this.idDoc = idDoc;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.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 Beneficiado)) {
return false;
}
Beneficiado other = (Beneficiado) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "Entities.Beneficiado[id=" + id + "]";
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Entities;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
*
* @author Vinicius
*/
@Entity
@Table(name = "document")
@NamedQueries({@NamedQuery(name = "Document.findAll", query = "SELECT d FROM Document d"), @NamedQuery(name = "Document.findById", query = "SELECT d FROM Document d WHERE d.id = :id"), @NamedQuery(name = "Document.findByDataCriacao", query = "SELECT d FROM Document d WHERE d.dataCriacao = :dataCriacao"), @NamedQuery(name = "Document.findByHoraCriacao", query = "SELECT d FROM Document d WHERE d.horaCriacao = :horaCriacao")})
public class Document implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private long id;
@Lob
@Column(name = "nome_s")
private String nomeS;
@Lob
@Column(name = "ramal_s")
private String ramalS;
@Lob
@Column(name = "dpt_s")
private String dptS;
@Lob
@Column(name = "mail_s")
private String mailS;
@Lob
@Column(name = "nome_g")
private String nomeG;
@Lob
@Column(name = "ramal_g")
private String ramalG;
@Lob
@Column(name = "dpt_g")
private String dptG;
@Lob
@Column(name = "mail_g")
private String mailG;
@Lob
@Column(name = "rede")
private String rede;
@Lob
@Column(name = "outlook_i")
private String outlookI;
@Lob
@Column(name = "internet")
private String internet;
@Lob
@Column(name = "orial")
private String orial;
@Lob
@Column(name = "orial_premium")
private String orialPremium;
@Lob
@Column(name = "gf_alliance")
private String gfAlliance;
@Lob
@Column(name = "sawluz")
private String sawluz;
@Lob
@Column(name = "sintel_cli")
private String sintelCli;
@Lob
@Column(name = "sintel_fornec")
private String sintelFornec;
@Lob
@Column(name = "cadim")
private String cadim;
@Lob
@Column(name = "axalant")
private String axalant;
@Lob
@Column(name = "ronda_ponto")
private String rondaPonto;
@Lob
@Column(name = "ronda_acesso")
private String rondaAcesso;
@Lob
@Column(name = "datamace")
private String datamace;
@Lob
@Column(name = "ccd")
private String ccd;
@Lob
@Column(name = "minitab")
private String minitab;
@Lob
@Column(name = "citrix")
private String citrix;
@Lob
@Column(name = "outros")
private String outros;
@Lob
@Column(name = "revogacao")
private String revogacao;
@Lob
@Column(name = "dir1")
private String dir1;
@Lob
@Column(name = "dir2")
private String dir2;
@Lob
@Column(name = "dir3")
private String dir3;
@Lob
@Column(name = "dir1_tipo")
private String dir1Tipo;
@Lob
@Column(name = "dir2_tipo")
private String dir2Tipo;
@Lob
@Column(name = "dir3_tipo")
private String dir3Tipo;
@Lob
@Column(name = "sap_tipo")
private String sapTipo;
@Lob
@Column(name = "sap_trans")
private String sapTrans;
@Lob
@Column(name = "sap_perfil")
private String sapPerfil;
@Lob
@Column(name = "sap_just")
private String sapJust;
@Lob
@Column(name = "obs")
private String obs;
@Lob
@Column(name = "outlook_e")
private String outlookE;
@Lob
@Column(name = "outros_desc")
private String outrosDesc;
@Basic(optional = false)
@Column(name = "data_criacao")
@Temporal(TemporalType.DATE)
private Date dataCriacao;
@Basic(optional = false)
@Column(name = "hora_criacao")
@Temporal(TemporalType.TIME)
private Date horaCriacao;
@JoinColumn(name = "id_status", referencedColumnName = "id")
@ManyToOne(optional = false)
private StatusDocumento idStatus;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "idDoc")
private List<Beneficiado> beneficiadoList;
public Document() {
dataCriacao = new Date(System.currentTimeMillis());
horaCriacao = new Date(System.currentTimeMillis());
}
public Document(Integer id) {
this.id = id;
dataCriacao = new Date(System.currentTimeMillis());
horaCriacao = new Date(System.currentTimeMillis());
}
public Document(Integer id, Date dataCriacao, Date horaCriacao) {
this.id = id;
this.dataCriacao = dataCriacao;
this.horaCriacao = horaCriacao;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getNomeS() {
return nomeS;
}
public void setNomeS(String nomeS) {
this.nomeS = nomeS;
}
public String getRamalS() {
return ramalS;
}
public void setRamalS(String ramalS) {
this.ramalS = ramalS;
}
public String getDptS() {
return dptS;
}
public void setDptS(String dptS) {
this.dptS = dptS;
}
public String getMailS() {
return mailS;
}
public void setMailS(String mailS) {
this.mailS = mailS;
}
public String getNomeG() {
return nomeG;
}
public void setNomeG(String nomeG) {
this.nomeG = nomeG;
}
public String getRamalG() {
return ramalG;
}
public void setRamalG(String ramalG) {
this.ramalG = ramalG;
}
public String getDptG() {
return dptG;
}
public void setDptG(String dptG) {
this.dptG = dptG;
}
public String getMailG() {
return mailG;
}
public void setMailG(String mailG) {
this.mailG = mailG;
}
public String getRede() {
return rede;
}
public void setRede(String rede) {
this.rede = rede;
}
public String getOutlookI() {
return outlookI;
}
public void setOutlookI(String outlookI) {
this.outlookI = outlookI;
}
public String getInternet() {
return internet;
}
public void setInternet(String internet) {
this.internet = internet;
}
public String getOrial() {
return orial;
}
public void setOrial(String orial) {
this.orial = orial;
}
public String getOrialPremium() {
return orialPremium;
}
public void setOrialPremium(String orialPremium) {
this.orialPremium = orialPremium;
}
public String getGfAlliance() {
return gfAlliance;
}
public void setGfAlliance(String gfAlliance) {
this.gfAlliance = gfAlliance;
}
public String getSawluz() {
return sawluz;
}
public void setSawluz(String sawluz) {
this.sawluz = sawluz;
}
public String getSintelCli() {
return sintelCli;
}
public void setSintelCli(String sintelCli) {
this.sintelCli = sintelCli;
}
public String getSintelFornec() {
return sintelFornec;
}
public void setSintelFornec(String sintelFornec) {
this.sintelFornec = sintelFornec;
}
public String getCadim() {
return cadim;
}
public void setCadim(String cadim) {
this.cadim = cadim;
}
public String getAxalant() {
return axalant;
}
public void setAxalant(String axalant) {
this.axalant = axalant;
}
public String getRondaPonto() {
return rondaPonto;
}
public void setRondaPonto(String rondaPonto) {
this.rondaPonto = rondaPonto;
}
public String getRondaAcesso() {
return rondaAcesso;
}
public void setRondaAcesso(String rondaAcesso) {
this.rondaAcesso = rondaAcesso;
}
public String getDatamace() {
return datamace;
}
public void setDatamace(String datamace) {
this.datamace = datamace;
}
public String getCcd() {
return ccd;
}
public void setCcd(String ccd) {
this.ccd = ccd;
}
public String getMinitab() {
return minitab;
}
public void setMinitab(String minitab) {
this.minitab = minitab;
}
public String getCitrix() {
return citrix;
}
public void setCitrix(String citrix) {
this.citrix = citrix;
}
public String getOutros() {
return outros;
}
public void setOutros(String outros) {
this.outros = outros;
}
public String getRevogacao() {
return revogacao;
}
public void setRevogacao(String revogacao) {
this.revogacao = revogacao;
}
public String getDir1() {
return dir1;
}
public void setDir1(String dir1) {
this.dir1 = dir1;
}
public String getDir2() {
return dir2;
}
public void setDir2(String dir2) {
this.dir2 = dir2;
}
public String getDir3() {
return dir3;
}
public void setDir3(String dir3) {
this.dir3 = dir3;
}
public String getDir1Tipo() {
return dir1Tipo;
}
public void setDir1Tipo(String dir1Tipo) {
this.dir1Tipo = dir1Tipo;
}
public String getDir2Tipo() {
return dir2Tipo;
}
public void setDir2Tipo(String dir2Tipo) {
this.dir2Tipo = dir2Tipo;
}
public String getDir3Tipo() {
return dir3Tipo;
}
public void setDir3Tipo(String dir3Tipo) {
this.dir3Tipo = dir3Tipo;
}
public String getSapTipo() {
return sapTipo;
}
public void setSapTipo(String sapTipo) {
this.sapTipo = sapTipo;
}
public String getSapTrans() {
return sapTrans;
}
public void setSapTrans(String sapTrans) {
this.sapTrans = sapTrans;
}
public String getSapPerfil() {
return sapPerfil;
}
public void setSapPerfil(String sapPerfil) {
this.sapPerfil = sapPerfil;
}
public String getSapJust() {
return sapJust;
}
public void setSapJust(String sapJust) {
this.sapJust = sapJust;
}
public String getObs() {
return obs;
}
public void setObs(String obs) {
this.obs = obs;
}
public String getOutlookE() {
return outlookE;
}
public void setOutlookE(String outlookE) {
this.outlookE = outlookE;
}
public String getOutrosDesc() {
return outrosDesc;
}
public void setOutrosDesc(String outrosDesc) {
this.outrosDesc = outrosDesc;
}
public Date getDataCriacao() {
return dataCriacao;
}
public void setDataCriacao(Date dataCriacao) {
this.dataCriacao = dataCriacao;
}
public Date getHoraCriacao() {
return horaCriacao;
}
public void setHoraCriacao(Date horaCriacao) {
this.horaCriacao = horaCriacao;
}
public StatusDocumento getIdStatus() {
return idStatus;
}
public void setIdStatus(StatusDocumento idStatus) {
this.idStatus = idStatus;
}
public List<Beneficiado> getBeneficiadoList() {
return beneficiadoList;
}
public void setBeneficiadoList(List<Beneficiado> beneficiadoList) {
this.beneficiadoList = beneficiadoList;
}
@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 Document)) {
return false;
}
Document other = (Document) object;
if ((this.id == 0 && other.id != 0) || (this.id != 0 && !(this.id == other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "Entities.Document[id=" + id + "]";
}
}