changed JDBCDataService to OracleDataService because the cached return
values are built with an oracle specific class.
Added some tests, and fixed outer joins.