public class MapContainsValueMethod extends AbstractSQLMethod
clr, exprFactory, stmt| Constructor and Description |
|---|
MapContainsValueMethod() |
| Modifier and Type | Method and Description |
|---|---|
protected SQLExpression |
containsAsInnerJoin(MapExpression mapExpr,
SQLExpression valExpr)
Method to return an expression for Map.containsValue using INNER JOIN to the element.
|
protected SQLExpression |
containsAsSubquery(MapExpression mapExpr,
SQLExpression valExpr)
Method to return an expression for Map.containsValue using a subquery "EXISTS".
|
SQLExpression |
getExpression(SQLExpression expr,
List<SQLExpression> args)
Return the expression for this SQL function.
|
protected boolean |
getNeedsSubquery()
Convenience method to decide if we handle the contains() by using a subquery, or otherwise
via an inner join.
|
protected boolean |
valueTypeCompatible(Class valType,
Class mapValType) |
getMappingForClass, setStatementpublic SQLExpression getExpression(SQLExpression expr, List<SQLExpression> args)
SQLMethodexpr - The expression that it is invoked onargs - Arguments passed inprotected boolean getNeedsSubquery()
protected SQLExpression containsAsInnerJoin(MapExpression mapExpr, SQLExpression valExpr)
mapExpr - Map expressionvalExpr - Expression for the valueprotected SQLExpression containsAsSubquery(MapExpression mapExpr, SQLExpression valExpr)
SELECT 1 FROM JOIN_TBL A0_SUB
WHERE A0_SUB.JOIN_OWN_ID = A0.ID AND A0_SUB.JOIN_VAL_ID = {valExpr}
SELECT 1 FROM VAL_TABLE A0_SUB INNER JOIN KEY_TBL B0 ON ...
WHERE B0.JOIN_OWN_ID = A0.ID AND A0_SUB.ID = {valExpr}
SELECT 1 FROM VAL_TABLE A0_SUB
WHERE A0_SUB.OWN_ID = A0.ID AND A0_SUB.ID = {valExpr}
mapExpr - Map expressionvalExpr - Expression for the valueCopyright © 2015. All rights reserved.