I have made this query:
Code:
select colaborador.cdcolaborador, colaborador.nome, colaborador.bloqueado
from Colaborador
left outer join listaColaboradorAtividade listacolaboradoratividade
left outer join listacolaboradoratividade.habilidade habilidade
where colaborado.bloqueado=0 and habilidade=?
and in my select clause, i have wrote only three fields (cdcolaborador,nome,bloqueado), but in generated sql appear 5. The 2 fields is the primary key of colaboradoratividade and habilidade.
The generated sql is:
Code:
select
colaborado0_.cdcolaborador as col_0_0_,
colaborado0_.nome as col_1_0_,
colaborado0_.bloqueado as col_2_0_,
listacolab1_.cdcolaboradorhabilidade as col_3_0_,
habilidade2_.cdhabilidade as col_4_0_
from Colaborador colaborado0_
left outer join Colaboradorhabilidade listacolab1_ on colaborado0_.cdcolaborador=listacolab1_.cdcolaborador
left outer join Habilidade habilidade2_ on listacolab1_.cdhabilidade=habilidade2_.cdhabilidade
where colaborado0_.bloqueado=0 order by colaborado0_.nome limit ?
but the correct query must be this:
Code:
select
colaborado0_.cdcolaborador as col_0_0_,
colaborado0_.nome as col_1_0_,
colaborado0_.bloqueado as col_2_0_,
from Colaborador colaborado0_
left outer join Colaboradorhabilidade listacolab1_ on colaborado0_.cdcolaborador=listacolab1_.cdcolaborador
left outer join Habilidade habilidade2_ on listacolab1_.cdhabilidade=habilidade2_.cdhabilidade
where colaborado0_.bloqueado=0 order by colaborado0_.nome limit ?
How can i do to doesn´t show "listacolab1_.cdcolaboradorhabilidade as col_3_0_, habilidade2_.cdhabilidade as col_4_0_" on my generated query?
Thanks;
Hibernate version: 3.2.6 Mapping documents:Colaborador:
Code:
@Entity
@SequenceGenerator(name="gen_colaborador", sequenceName="gen_colaborador")
@DisplayName("Colaborador")
public class Colaborador implements User {
...
protected Set<Colaboradorhabilidade> listaColaboradorhabilidade = new ListSet<Colaboradorhabilidade>(Colaboradorhabilidade.class);
...
@OneToMany(mappedBy="colaborador")
public Set<Colaboradorhabilidade> getListaColaboradorhabilidade() {
return listaColaboradorhabilidade;
}
...
ColaboradorHabilidade:
Code:
@Entity
@SequenceGenerator(name="gen_colaboradorhabilidade", sequenceName="gen_colaboradorhabilidade")
public class Colaboradorhabilidade {
protected Integer cdcolaboradorhabilidade;
protected Colaborador colaborador;
protected Habilidade habilidade;
protected Nivelhabilidade nivelhabilidade;
protected String tempoatuacao;
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="gen_colaboradorhabilidade")
public Integer getCdcolaboradorhabilidade() {
return cdcolaboradorhabilidade;
}
@JoinColumn(name="cdcolaborador")
@ManyToOne(fetch=FetchType.LAZY)
public Colaborador getColaborador() {
return colaborador;
}
@JoinColumn(name="cdhabilidade")
@ManyToOne(fetch=FetchType.LAZY)
public Habilidade getHabilidade() {
return habilidade;
}
@JoinColumn(name="cdnivelhabilidade")
@ManyToOne(fetch=FetchType.LAZY)
public Nivelhabilidade getNivelhabilidade() {
return nivelhabilidade;
}
public String getTempoatuacao() {
return tempoatuacao;
}
public void setCdcolaboradorhabilidade(Integer cdcoalboradorhabilidade) {
this.cdcolaboradorhabilidade = cdcoalboradorhabilidade;
}
public void setColaborador(Colaborador colaborador) {
this.colaborador = colaborador;
}
public void setHabilidade(Habilidade habilidade) {
this.habilidade = habilidade;
}
public void setNivelhabilidade(Nivelhabilidade nivelhabilidade) {
this.nivelhabilidade = nivelhabilidade;
}
public void setTempoatuacao(String tempoatuacao) {
this.tempoatuacao = tempoatuacao;
}
}
Name and version of the database you are using: PostGreSQL 8The generated SQL (show_sql=true):Code:
select
colaborado0_.cdcolaborador as col_0_0_,
colaborado0_.nome as col_1_0_,
colaborado0_.bloqueado as col_2_0_,
listacolab1_.cdcolaboradorhabilidade as col_3_0_,
habilidade2_.cdhabilidade as col_4_0_
from Colaborador colaborado0_
left outer join Colaboradorhabilidade listacolab1_ on colaborado0_.cdcolaborador=listacolab1_.cdcolaborador
left outer join Habilidade habilidade2_ on listacolab1_.cdhabilidade=habilidade2_.cdhabilidade
where colaborado0_.bloqueado=0 order by colaborado0_.nome limit ?
[/code]