Em projeto recente foi necessário requisitar objetos em um banco legado os quais não eram entidades gerenciadas pelo Hibernate mas sim por outro software.
Mapear estes objetos como novas entidades e criar Criteria’s ou HQL’s com base em SQL’s prontas enviadas pelo cliente seria custoso. Como o projeto não era resposável por manter estes objetos sincronizados com o banco, seria interessante utilizar as SQL’s prontas em beans não gerenciados pelo Hibernate.
Após pesquisar na documentação do Hibernate, achei uma solução interessante caso seja necessário utilizar SQL nativa:
public List
SQLQuery query = session.createSQLQuery("select DS_NAME as name, DS_DESCRIPTION as description, ST_AGE as age from t_users");
query.addScalar("name");
query.addScalar("description");
query.addScalar("age", Hibernate.LONG);
query.setResultTransformer( Transformers.aliasToBean( UserDTO.class ) );
List
return users;
}
public class UserDTO {
private String name;
private String description;
private Long age;
//getters n' setters
}
Native SQL Chapter: http://www.hibernate.org/hib_docs/reference/en/html/querysql.html
Valeu Bruno, precisei usar isso hj!!
Abraço
Bruno,
pede pro Thiago Felix postar as outras partes dos videos de Silverlight (Silverlight Screencast – Amazon)?
O ultimo post foi em Janeiro, já passou muito tempo 🙂
Valeuu