1. A method for processing hierarchical data in a relational database comprising: receiving an input parameter in an initial query for querying an array in a hierarchical data object stored in a table of a relational database; transforming the initial query into a transformed query configured to place all elements of the array into a different table and to apply a sub-query against the table for the input parameter; applying predicate evaluation logic of a relational engine of the relational database to the transformed query; mapping the transformed query to the initial query; and, responsive to receiving a subsequent instance of the initial query, referring to the mapping to replace the initial query with the transformed query and subsequently applying the predicate evaluation logic of the relational engine to the transformed query.