Мой пользователь хочет ввести случайный sql для доступа к базам данных, для которых существует ссылка db в Oracle
db. Однако это дает исключение с Hibernate
. Ниже приведена функция, которая должна проверять, является ли запрос действительным, запустив запрос. Любые рекомендации приветствуются.Использование Hibernate для доступа к таблице Oracle DBLink
Исключение:
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query 'Select ID,NAME from [email protected]_DB_LINK'
Вот код:
public String testSQL(String sqlQuery) {
if(!checkAllowedSQL(sqlQuery)) {
logger.debug("Forbidden SQL Query detected: " + sqlQuery);
return "Forbidden SQL Query detected '" + sqlQuery + "'";
}
try {
Query query = entityManager.createNativeQuery(sqlQuery);
List<Object[]> list = query.getResultList();
} catch(Exception e) {
return e.toString() + " '" + sqlQuery + "'";
}
return null;
}
хороший вопрос, но я полагаю, что это тот же, что и этот http://stackoverflow.com/questions/22017108/hibernate-with-oracle-dblink-implementation – Acewin