Как я могу вызвать инструкцию CREATE MATERIALIZED VIEW из моей среды JPA? В настоящее время инструкция находится в файле, загруженном из контекста приложения. Я просто хочу его выполнить.Как вызвать инструкцию CREATE MATERIALIZED VIEW из среды Java JPA?
Могу ли я использовать EntityManager для выполнения SQL-скрипта или мне нужно создать инструкцию?
Session session = (Session) em.getDelegate();
SessionFactoryImplementor sfi = (SessionFactoryImplementor) session.getSessionFactory();
ConnectionProvider cp = sfi.getConnectionProvider();
Connection connection = cp.getConnection();
Statement statement = connection.createStatement();
statement.execute(sql);
Я пробовал это, но только что получил «недостающий идентификатор \ n». Возможно, это потому, что мое заявление начинается с новой строки, но это не должно быть проблемой. Сам сценарий в порядке и работает, например, при использовании SQL * Plus.
Кроме того, я попытался его с
em.createNativeQuery(sql);
но получил "javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: не мог извлечь ResultSet".
Любые мысли или примеры?
ad: Я использую Oracle 12c в задней части.