Copie o código do código da seguinte forma:
pacote com.zxd.test;
importar java.util.List;
importar org.hibernate.HibernateException;
importe org.hibernate.Query;
importar org.hibernate.Session;
importar org.hibernate.SessionFactory;
importar org.hibernate.cfg.Configuration;
importar com.zxd.bean.House;
importar com.zxd.util.QueryProperty;
/**
* Classe de teste para consulta fechada HQL
* @autor zhang
*
*/
classe pública TestHouse {
public static void main(String[] args) {
//Variáveis de membro público
SessãoFactory sf = null;
Sessão sessão = null;
QueryProperty qp = new QueryProperty();
//Encapsula os dados da consulta
qp.setTitle("%好房%");
qp.setStreet_id("1002");
qp.setType_id("1004");
qp.setLow_price(20);
qp.setHigh_price(200);
qp.setSmall_floorage(50);
qp.setBig_floorage(180);
//instrução HQL
StringBuffer sb = new StringBuffer();
sb.append("da casa onde ");
sb.append("(título como: título) ");
sb.append("e (type_id como:type_id) ");
sb.append("e (street_id como:street_id) ");
sb.append("e (preço entre :low_price e :high_price) ");
sb.append("e (piso entre: small_floorage e: big_floorage)");
tentar {
//Começa a executar a consulta
sf = new Configuração().configure().buildSessionFactory();
sessão = sf.openSession();
Consulta consulta = session.createQuery(sb.toString());
query.setProperties(qp);
List<Casa> list = query.list();
//O primeiro tipo usa: loop
/*for(Casa casa:lista){
System.out.println("O título é: "+house.getTitle());
System.out.println("A área é: "+house.getFloorage());
System.out.println("O preço é: "+house.getPrice());
System.out.println("O distrito é: "+house.getStreet().getDistrict().getName());
System.out.println("A rua é: "+house.getStreet().getName());
System.out.println("---------------------------------");
}*/
//Segundo ciclo
for(int i = 0;i<list.size();i++){
System.out.println("O título é: "+list.get(i).getTitle());
System.out.println("A área é: "+list.get(i).getFloorage());
System.out.println("O preço é: "+list.get(i).getPrice());
System.out.println("Distrito é: "+list.get(i).getStreet().getDistrict().getName());
System.out.println("A rua é: "+list.get(i).getStreet().getName());
System.out.println("---------------------------------");
}
} catch (HibernateException e) {
// TODO Bloco catch gerado automaticamente
e.printStackTrace();
}finalmente{
sessão.close();
sf.close();
}
}
}
O primeiro tipo de loop no exemplo acima é algo que não me lembrava. Ele usa o caractere chave ":". Geralmente, esse tipo de loop é usado para percorrer uma coleção (List<House>, Map).
O segundo tipo de loop é um loop comum. Este é o loop for mais comum em Java.