Skip to content

Commit 7ceb0fb

Browse files
committed
FISH-7076 : fixing malformed sql exception
1 parent 14df391 commit 7ceb0fb

File tree

1 file changed

+10
-2
lines changed
  • foundation/org.eclipse.persistence.core/src/org/eclipse/persistence/internal/expressions

1 file changed

+10
-2
lines changed

foundation/org.eclipse.persistence.core/src/org/eclipse/persistence/internal/expressions/FieldExpression.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,11 @@ public Expression rebuildOn(Expression newBase) {
271271
}
272272
if ((descriptor != null) && descriptor.hasTablePerClassPolicy()) {
273273
field = field.clone();
274-
field.setTable(descriptor.getDefaultTable());
274+
DatabaseTable table = descriptor.getDefaultTable();
275+
if((field.getTableName().length() != 0) && descriptor.getTableNames().contains(field.getTableName())) {
276+
table = descriptor.getTable(field.getTableName());
277+
}
278+
field.setTable(table);
275279
}
276280
}
277281
FieldExpression expression = new FieldExpression(field, getBaseExpression().rebuildOn(newBase));
@@ -308,7 +312,11 @@ public Expression twistedForBaseAndContext(Expression newBase, Expression contex
308312
}
309313
if ((descriptor != null) && descriptor.hasTablePerClassPolicy()) {
310314
field = field.clone();
311-
field.setTable(descriptor.getDefaultTable());
315+
DatabaseTable table = descriptor.getDefaultTable();
316+
if((field.getTableName().length() != 0) && descriptor.getTableNames().contains(field.getTableName())) {
317+
table = descriptor.getTable(field.getTableName());
318+
}
319+
field.setTable(table);
312320
}
313321
}
314322
return twistedBase.getField(field);

0 commit comments

Comments
 (0)