SQL nativa no Hibernate e beans não gerenciados
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
Henrique Marino
1 de abril de 2009Valeu Bruno, precisei usar isso hj!!
Abraço
Fabio
2 de abril de 2009Bruno,
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