Pessoal tenho uma consulta que está mostrando o seguinte erro:
Informações: foreign keys: []
Jan 18, 2013 3:01:17 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
Informações: indexes: []
Jan 18, 2013 3:01:17 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
Informações: schema update complete
Hibernate:
/* dynamic native SQL query */ SELECT
tipologia,
COUNT(nome) as qtd,
COUNT(if(year(dia)=2010,
tipologia,
null)) as a2010,
COUNT(if(year(dia)=2011,
tipologia,
null)) as a2011,
COUNT(if(year(dia)=2012,
tipologia,
null)) as a2012,
COUNT(if(year(dia)=2013,
tipologia,
null)) as a2013
FROM
inauguracao
WHERE
tipologia <> ' '
AND dia >= '2011-01-01'
AND dia <= now()
GROUP BY
tipologia
ORDER BY
qtd DESC
Jan 18, 2013 3:01:18 PM org.hibernate.type.NullableType nullSafeGet
Informações: could not read column value from result set: ordem; Column 'ordem' not found.
Jan 18, 2013 3:01:18 PM org.hibernate.util.JDBCExceptionReporter logExceptions
Advertência: SQL Error: 0, SQLState: S0022
Jan 18, 2013 3:01:18 PM org.hibernate.util.JDBCExceptionReporter logExceptions
Grave: Column 'ordem' not found.
org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
Contudo ainda não consegui arrumar esse erro. alguém já passou por isso ou algo parecido.
Entidade:
@Entity
@Table(name = "inauguracao_copy")
public class Inauguracao implements Serializable {
@Id
@GeneratedValue
private Integer ordem;
@Temporal(TemporalType.DATE)
private Calendar dia;
private String prefixo;
private String nome;
private String municipio;
private String uf;
private String tipologia;
private String projeto;
gets / sets
main
public class InauguracaoBO {
private InauguracaoDAO inaugdao = (InauguracaoDAO) BeanFactory.getBean(
"inauguracaoDAO", InauguracaoDAO.class);
public List<Inauguracao> buscaTodos() throws Exception {
return inaugdao.buscaTodos();
}
public Inauguracao salva(Inauguracao inauguracao) throws Exception {
return inaugdao.salva(inauguracao);
}
public Inauguracao atualiza(Inauguracao inauguracao) throws Exception {
return inaugdao.atualiza(inauguracao);
}
public Inauguracao merge(Inauguracao inauguracao) throws Exception {
return inaugdao.merge(inauguracao);
}
public void exclui(Inauguracao inauguracao) throws Exception {
inaugdao.exclui(inauguracao);
}
public List<Inauguracao> buscaLista() throws Exception {
return inaugdao.buscaLista();
}
public static void main(String args[]) {
try {
InauguracaoBO inaugbo = new InauguracaoBO();
inaugbo.buscaLista();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
dao.impl
@SuppressWarnings("unchecked")
public List<Inauguracao> buscaLista() throws Exception{
Session session = getSession();
return session.createSQLQuery("SELECT tipologia, COUNT(nome) as qtd, COUNT(if(year(dia)=2010,tipologia,null)) as a2010, " +
"COUNT(if(year(dia)=2011,tipologia,null)) as a2011, " +
"COUNT(if(year(dia)=2012,tipologia,null)) as a2012, " +
"COUNT(if(year(dia)=2013,tipologia,null)) as a2013 " +
"FROM inauguracao WHERE tipologia <> ' ' AND dia >= '2011-01-01' AND dia <= now()" +
"GROUP BY tipologia ORDER BY qtd DESC")
.addEntity(Inauguracao.class) //aqui vc tem que falar pro hibernate qual entidade está utilizando
.list();
}