Hallo,
ich habe ein Problem mit der Ausführung von nativen SQL Statements in Hibernate.
Folgendes habe ich implementiert:
Code:
List<Map<String, Object>> resultList = (List<Map<String, Object>>) getHibernateTemplate().execute(
new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException, SQLException {
SQLQuery hibernateQuery = session.createSQLQuery(query);
hibernateQuery.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE);
List<Map<String, Object>> aliasToValueMapList = hibernateQuery.list();
return aliasToValueMapList;
}
});
Das funktioniert auch wunderbar. Das Problem ist nur, dass die Query von Benutzern eingegeben wird und diese keiner create/update/insert Statements ausführen dürfen.
list() verhindert das leider nicht.
Gibt es eine andere Möglichkeit dynamische native SQL Queries auszuführen, mit denen man nur select statements ausführen kann?
Vielen Dank im voraus