У меня есть хранящаяся процедура, которая принимает в списке строк < /em> (и следует ограничениям на хранимых процедурах, согласно документам Hibernate): < /p>
PROCEDURE count_active_esc(p_count OUT NUMBER, p_codes IN string_list);
< /code>
, где string_list < /code> - пользовательский тип: < /p>
CREATE OR REPLACE TYPE string_list IS TABLE OF VARCHAR(100)
< /code>
и хочу вызвать его из JPA Entity Manager (новая функция в JPA 2.1). < /p>
Я попытался использовать массив: < /p>
StoredProcedreQuery query = entityManager.createNamedStoredProcedureQuery("count_active_esc");
query.registerStoredProcedureParameter("p_count", Integer.class, ParameterMode.OUT);
query.registerStoredProcedureParameter("p_codes", String[].class, ParameterMode.IN);
query.setParameter("p_codes", new String[] { "AEST" });
query.getOutputParameterValue("p_count"); //
StoredProcedreQuery query = entityManager.createNamedStoredProcedureQuery("count_active_esc");
query.registerStoredProcedureParameter("p_count", Integer.class, ParameterMode.OUT);
query.registerStoredProcedureParameter("p_codes", List.class, ParameterMode.IN); // не помогло. Или спячка? Это вообще возможно, не прибегая к JDBC?>
Подробнее здесь: https://stackoverflow.com/questions/317 ... ibernate-4