TEnho que fazer o seguinte SQLQuery para pegar dados do meu DB:
Obs: Banco de Dados é o Firebird 2.0, e a SQL funciona perfeitamente. xD
List<Pedido> listPedido = new ArrayList<Pedido>();
SQLQuery select = sessao.createSQLQuery("SELECT * FROM PEDIDO WHERE CONT_COMANDA ="+contComanda+
" AND EXTRACT(MONTH FROM DATA_PEDIDO)='" + mes+"' AND SUBSTRING(CAST(EXTRACT(YEAR FROM DATA_PEDIDO) AS VARCHAR(4)) FROM 3 FOR 4 ) ='" + ano+"'");
listPedido = select.list();
Como transformar essa SQLQuery em uma Query, pois tenho que usar a HQL para tal…?
Quero fazer isso pq quando eu retorno um obj de uma lista que receba dados de uma SQLQuery sempre ta gerando uma java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to modPedido.Pedido
Um pequeno exemplo para ficar mais facil de entender:
Se eu realizar um select assim não da erro nenhum:
List<Pedido> listPedido = new ArrayList<Pedido>();
Query select = sessao.createQuery("from Pedido");
listPedido = select.list();
System.out.println( listPedido.get(0).getCliente() );
Agora…se eu realizar um select usando SQLQuery da um erro na linha do System.out.println:
List<Pedido> listPedido = new ArrayList<Pedido>();
SQLQuery select = sessao.createSQLQuery("from Pedido");
listPedido = select.list();
System.out.println( listPedido.get(0).getCliente() );