Alguem pode me dizer como faco uma query usando Hibernate em usa tabela que nao tem PK?
Se tivesse ideia da classe seria mais facil
Supondo que eu tenha uma classe cliente e um atributo nome
HQL
session.CreateQuery("from Cliente c where c.nome = :nome")
.setString("nome", "Daniel Passos");
Criteria
session.CreateCriteria(Cliente.class)
.add( Expression.eq("nome", "Daniel Passos") );
:arrow: Introdução ao Hibernate 3
A clase es esta:
import java.util.Date;
public class Glcoargu {
private String ARG_IDEPRO;
private String ARG_IDEPCC;
private Integer ARG_KEYUSU;
private Date ARG_FECINI;
private String ARG_HORINI;
private String ARG_PVALOR;
private String ARG_KEYCAM;
private String ARG_DESCAM;
public String getARG_DESCAM() {
return ARG_DESCAM;
}
public void setARG_DESCAM(String arg_descam) {
ARG_DESCAM = arg_descam;
}
public Date getARG_FECINI() {
return ARG_FECINI;
}
public void setARG_FECINI(Date arg_fecini) {
ARG_FECINI = arg_fecini;
}
public String getARG_HORINI() {
return ARG_HORINI;
}
public void setARG_HORINI(String arg_horini) {
ARG_HORINI = arg_horini;
}
public String getARG_IDEPCC() {
return ARG_IDEPCC;
}
public void setARG_IDEPCC(String arg_idepcc) {
ARG_IDEPCC = arg_idepcc;
}
public String getARG_IDEPRO() {
return ARG_IDEPRO;
}
public void setARG_IDEPRO(String arg_idepro) {
ARG_IDEPRO = arg_idepro;
}
public String getARG_KEYCAM() {
return ARG_KEYCAM;
}
public void setARG_KEYCAM(String arg_keycam) {
ARG_KEYCAM = arg_keycam;
}
public Integer getARG_KEYUSU() {
return ARG_KEYUSU;
}
public void setARG_KEYUSU(Integer arg_keyusu) {
ARG_KEYUSU = arg_keyusu;
}
public String getARG_PVALOR() {
return ARG_PVALOR;
}
public void setARG_PVALOR(String arg_pvalor) {
ARG_PVALOR = arg_pvalor;
}
}
Os dados da tabela mandei em um arquivo HTML, so que esta tabela nao tem PK
Não existe mapeamento de classe sem ID no Hibernate. Pelo menos não no 2.x @.@
Otima observação nao tinha me atentado a isso… acho que no 3 tambem não! Tem?
Achei uma solucao, mas acho que eh um pouco porca !!!
Criei um ID referenciando ao rowid da tabela e funcionou !!!