Fórum Como jogar o resultado de um sql para dentro de um objeto #414523
24/03/2012
0
Outra coisa o comando sql retorna a linha , mas eu não consigo pegar os campos e jogar na classe
Veja o meu método.
public List<Empresa> listarPorPolo(Integer codigoPolo) {
System.out.println(Chegou no metodo);
StringBuffer sql = new StringBuffer();
sql.append(select e.id_empresa,e.nome,e.nome_fan );
sql.append(from empresa e where not exists );
sql.append((select id_empresa from polo_empresa pe where );
sql.append(e.id_empresa = pe.id_empresa and pe.id_polo = :polo));
SQLQuery query = this.session.createSQLQuery(sql.toString());
query.setParameter(polo,codigoPolo);
return query.list();
}
Minha classe empresa
@Entity
@Table(name=empresa)
@SequenceGenerator(name=seq_empresa,sequenceName=seq_empresa)
public class Empresa implements Serializable{
private static final long serialVersionUID = 498803724556690440L;
@Id
@GeneratedValue(generator=seq_empresa,strategy= GenerationType.AUTO)
@Column(name=id_empresa)
private Integer codigoEmpresa;
@Column(name=nome,length=40)
private String nome ;
@Column(name=nome_fan,length=20)
private String nomeFantasia ;
@ManyToMany(fetch=FetchType.EAGER)
@JoinTable(name=polo_empresa,joinColumns={@JoinColumn(name=id_empresa)},
inverseJoinColumns={@JoinColumn(name=id_polo)})
@org.hibernate.annotations.ForeignKey(name = fk_empresa_polo)
private Set<Polo> polo = new HashSet<Polo>(0);
public Set<Polo> getPolo() {
return polo;
}
public void setPolo(Set<Polo> polo) {
this.polo = polo;
}
public Integer getCodigoEmpresa() {
return codigoEmpresa;
}
public void setCodigoEmpresa(Integer codigoEmpresa) {
this.codigoEmpresa = codigoEmpresa;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getNomeFantasia() {
return nomeFantasia;
}
public void setNomeFantasia(String nomeFantasia) {
this.nomeFantasia = nomeFantasia;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((codigoEmpresa == null) ? 0 : codigoEmpresa.hashCode());
result = prime * result + ((nome == null) ? 0 : nome.hashCode());
result = prime * result
+ ((nomeFantasia == null) ? 0 : nomeFantasia.hashCode());
result = prime * result + ((polo == null) ? 0 : polo.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;
Empresa other = (Empresa) obj;
if (codigoEmpresa == null) {
if (other.codigoEmpresa != null)
return false;
} else if (!codigoEmpresa.equals(other.codigoEmpresa))
return false;
if (nome == null) {
if (other.nome != null)
return false;
} else if (!nome.equals(other.nome))
return false;
if (nomeFantasia == null) {
if (other.nomeFantasia != null)
return false;
} else if (!nomeFantasia.equals(other.nomeFantasia))
return false;
if (polo == null) {
if (other.polo != null)
return false;
} else if (!polo.equals(other.polo))
return false;
return true;
}
}
Jose Boas
Curtir tópico
+ 0Posts
24/03/2012
Robson Teixeira
so lhe informar o datatable intera a coleção criada pelo seu método e no datatable tem um atributo chamado var que representa o objeto iterado.
att
robson
Gostei + 0
24/03/2012
Jose Boas
java.lang.NumberFormatException: For input string: codigoEmpresa
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
o sql me devolve id_empresa mas na classe é codigoEmpresa, eu sei mais ou menos o que é mas não sei como implementar.
Gostei + 0
24/03/2012
Jose Boas
sql.append( select e.* );
sql.append( from empresa e where not exists );
sql.append( (select pe.id_empresa from polo_empresa pe where );
sql.append( e.id_empresa = pe.id_empresa and pe.id_polo = :polo) );
SQLQuery query = this.session.createSQLQuery(sql.toString()).addEntity(Empresa.class);
query.setParameter(polo,codigoPolo);
return query.list();
Gostei + 0
24/03/2012
Robson Teixeira
e obrigado por postar a solução.
favor fechar o chamado assim que possivel.
att
robson
Gostei + 0
14/04/2012
Dyego Carmo
Voce nao tem ideia de como isso ajuda :)
Valeu !
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)