Dear 

 

There is a problem in SqlJdbcUtil.java class regarding outer join in
oracle, becase the (+) sould be in the end of the Left/Right hand not in
the first

 

The following line (number: 344): 

if (isOracleStyle && viewLink.isRelOptional()) whereString.append(" (+)
");

 

Should be placed after the following lines:

whereString.append(viewLink.getRelEntityAlias());

                        whereString.append(".");

 
whereString.append(filterColName(relLinkField.getColName()));

 

So the entier code will be like this: 

 

// check to see whether the left or right members are optional, if so:

                        // oracle: use the (+) on the optional side

                        // mssql: use the * on the required side

 

                        // NOTE: not testing if original table is
optional, ONLY if related table is optional; otherwise things get really
ugly...

                        // if (isOracleStyle &&
linkMemberEntity.getOptional()) whereString.append(" (+) ");

                        if (isMssqlStyle && viewLink.isRelOptional())
whereString.append("*");

                        whereString.append("=");

                        // if (isMssqlStyle &&
linkMemberEntity.getOptional()) whereString.append("*");

                        

 
whereString.append(viewLink.getRelEntityAlias());

                        whereString.append(".");

 
whereString.append(filterColName(relLinkField.getColName()));

                        

                        if (isOracleStyle && viewLink.isRelOptional())
whereString.append(" (+) ");

 

Kind regards

==================================

Mamdouh Kaadan

Software Engineer

IT - Application

Areeba SYRIA 

Mobile: +963-94-222763

Office :  +963-94-222222   Ext: 2288

E-mail:[EMAIL PROTECTED]

 

 

 

Reply via email to