/** INTERNAL: */ public NamedStoredProcedureQueryMetadata( MetadataAnnotation namedStoredProcedureQuery, MetadataAccessor accessor) { super(namedStoredProcedureQuery, accessor); for (Object storedProcedureParameter : namedStoredProcedureQuery.getAttributeArray("parameters")) { m_parameters.add( new StoredProcedureParameterMetadata( (MetadataAnnotation) storedProcedureParameter, accessor)); } // JPA spec allows for multiple result classes. for (Object resultClass : (Object[]) namedStoredProcedureQuery.getAttributeArray("resultClasses")) { m_resultClasses.add(getMetadataClass((String) resultClass)); } // JPA spec allows for multiple result set mappings. for (Object resultSetMapping : (Object[]) namedStoredProcedureQuery.getAttributeArray("resultSetMappings")) { m_resultSetMappings.add((String) resultSetMapping); } m_procedureName = namedStoredProcedureQuery.getAttributeString("procedureName"); // Don't default these booleans as we want to know if the user has actually set them. m_returnsResultSet = namedStoredProcedureQuery.getAttributeBooleanDefaultFalse("returnsResultSet"); m_multipleResultSets = namedStoredProcedureQuery.getAttributeBooleanDefaultFalse("multipleResultSets"); m_callByIndex = namedStoredProcedureQuery.getAttributeBooleanDefaultFalse("callByIndex"); }