Я новичок в JPA 2.0/EclipseLink/Glassfish/JEE6, и у меня есть основной вопрос.
У меня есть DAO, в котором большинство сущностей сопоставляются непосредственно со столбцами с помощью аннотаций JPA, поэтому я использую EntityManager, и он отлично работает без проблем.
Однако есть некоторые таблицы, в которых я сам создаю операторы SQL, потому что они используют функции, специфичные для оракула (пространственные), и мне нужен очень точный контроль над SQL. Поэтому я строю его с конкатенацией строк. Я хотел бы иметь возможность регистрировать выполнение SQL в текущей транзакции, если она уже выполняется.
Поэтому, естественно, я не хочу напрямую обращаться к DriverManager и создавать собственное соединение, я искал какую-то функцию EntityManager.executeArbitrarySQL(String), которая нашла бы текущее соединение и сделала бы мой SQL частью текущей транзакции. Я сошел с ума?