How to make TopLink generate "LEFT OUTER JOIN" sql syntax with an Oracle Database

(Doc ID 234544.1)

Last updated on AUGUST 25, 2016

Applies to:

Oracle TopLink - Version 11.1.1.0.1 and later
Information in this document applies to any platform.
***Checked for relevance on 15-Jun-2010***
***Checked for relevance on 01-Oct-2013***


Goal

When TopLink generates a left outer join clause for a database other than Oracle, it uses the syntax of 'LEFT OUTER JOIN'. For an Oracle database, it uses '(+)' to indicate a left outer join instead of the 'LEFT OUTER JOIN' syntax.

You want TopLink to generate the following syntax:

select last_name, dept_id
from emp e
LEFT OUTER JOIN Dept d
ON e.dept_id = d.dept_id;

Instead of:

select last_name, dept_id
from emp e, dept d
where e.department_id (+) = d.department_id;


TopLink by default is set up to automatically use "(+)" syntax for the Oracle database platform, in versions prior to Oracle TopLink 11g PS3 (11.1.1.4.0) [which includes EcliseLink 2.1], however the behaviour can be easily reconfigured.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms