org.eclipse.persistence.internal.expressions.QueryKeyExpression.getTable()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(8.0k)|赞(0)|评价(0)|浏览(76)

本文整理了Java中org.eclipse.persistence.internal.expressions.QueryKeyExpression.getTable方法的一些代码示例,展示了QueryKeyExpression.getTable的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryKeyExpression.getTable方法的具体详情如下:
包路径:org.eclipse.persistence.internal.expressions.QueryKeyExpression
类名称:QueryKeyExpression
方法名:getTable

QueryKeyExpression.getTable介绍

暂无

代码示例

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

/**
 * INTERNAL:
 * Find the alias for a given table
 */
@Override
public DatabaseTable aliasForTable(DatabaseTable table) {
  DatabaseMapping mapping = getMapping();
  if (isAttribute() || ((mapping != null) && (mapping.isAggregateObjectMapping() || mapping.isTransformationMapping()))) {
    return ((DataExpression)this.baseExpression).aliasForTable(table);
  }
  //"ref" and "structure" mappings, no table printed in the FROM clause, need to get the table alias form the parent table
  if ((mapping != null) && (mapping.isReferenceMapping() || mapping.isStructureMapping())) {
    DatabaseTable alias = this.baseExpression.aliasForTable(mapping.getDescriptor().getTables().firstElement());
    alias.setName(alias.getName() + "." + mapping.getField().getName());
    return alias;
  }
  // For direct-collection mappings the alias is store on the table expression.
  if ((mapping != null) && (mapping.isDirectCollectionMapping())) {
    if (tableAliases != null){
      DatabaseTable aliasedTable = tableAliases.keyAtValue(table);
      if (aliasedTable != null){
        return aliasedTable;
      }
    }
    return getTable(table).aliasForTable(table);
  }
  return super.aliasForTable(table);
}

代码示例来源:origin: com.haulmont.thirdparty/eclipselink

/**
 * INTERNAL:
 * Find the alias for a given table
 */
@Override
public DatabaseTable aliasForTable(DatabaseTable table) {
  DatabaseMapping mapping = getMapping();
  if (isAttribute() || ((mapping != null) && (mapping.isAggregateObjectMapping() || mapping.isTransformationMapping()))) {
    return ((DataExpression)this.baseExpression).aliasForTable(table);
  }
  //"ref" and "structure" mappings, no table printed in the FROM clause, need to get the table alias form the parent table
  if ((mapping != null) && (mapping.isReferenceMapping() || mapping.isStructureMapping())) {
    DatabaseTable alias = this.baseExpression.aliasForTable(mapping.getDescriptor().getTables().firstElement());
    alias.setName(alias.getName() + "." + mapping.getField().getName());
    return alias;
  }
  
  // For direct-collection mappings the alias is store on the table expression.
  if ((mapping != null) && (mapping.isDirectCollectionMapping())) {
    if (tableAliases != null){
      DatabaseTable aliasedTable = tableAliases.keyAtValue(table);
      if (aliasedTable != null){
        return aliasedTable;
      }
    }
    return getTable(table).aliasForTable(table);
  }
  return super.aliasForTable(table);
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

/**
 * INTERNAL:
 * Find the alias for a given table
 */
public DatabaseTable aliasForTable(DatabaseTable table) {
  DatabaseMapping mapping = getMapping();
  if (isAttribute() || ((mapping != null) && (mapping.isAggregateObjectMapping() || mapping.isTransformationMapping()))) {
    return ((DataExpression)getBaseExpression()).aliasForTable(table);
  }
  //"ref" and "structure" mappings, no table printed in the FROM clause, need to get the table alias form the parent table
  if ((mapping != null) && (mapping.isReferenceMapping() || mapping.isStructureMapping())) {
    DatabaseTable alias = getBaseExpression().aliasForTable(mapping.getDescriptor().getTables().firstElement());
    alias.setName(alias.getName() + "." + mapping.getField().getName());
    return alias;
  }
  
  // For direct-collection mappings the alias is store on the table expression.
  if ((mapping != null) && (mapping.isDirectCollectionMapping())) {
    if (tableAliases != null){
      DatabaseTable aliasedTable = tableAliases.keyAtValue(table);
      if (aliasedTable != null){
        return aliasedTable;
      }
    }
    return getTable(table).aliasForTable(table);
  }
  return super.aliasForTable(table);
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

/**
 * INTERNAL:
 * Print SQL onto the stream, using the ExpressionPrinter for context
 */
public void printSQL(ExpressionSQLPrinter printer) {
  if (isAttribute()) {
    printer.printField(getAliasedField());
  }
  // If the mapping is a direct collection then this falls into a gray area.
  // It must be treated as an attribute at this moment for it has a direct field.
  // However it is not an attribute in the sense that it also represents a foreign
  // reference and a mapping criteria has been added.
  // For bug 2900974 these are now handled as non-attributes during normalize but
  // as attributes when printing SQL.
  //
  if ((!isAttribute()) && (getMapping() != null) && getMapping().isDirectCollectionMapping()) {
    DirectCollectionMapping directCollectionMapping = (DirectCollectionMapping)getMapping();
    // The aliased table comes for free as it was a required part of the join criteria.
    TableExpression table = (TableExpression)getTable(directCollectionMapping.getReferenceTable());
    DatabaseTable aliasedTable = table.aliasForTable(table.getTable());
    DatabaseField aliasedField = (DatabaseField)directCollectionMapping.getDirectField().clone();
    aliasedField.setTable(aliasedTable);
    printer.printField(aliasedField);
  }
  if ((getMapping() != null) && getMapping().isNestedTableMapping()) {
    DatabaseTable tableAlias = aliasForTable(new NestedTable(this));
    printer.printString(tableAlias.getName());
  }
}

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

/**
 * INTERNAL:
 * Print SQL onto the stream, using the ExpressionPrinter for context
 */
@Override
public void printSQL(ExpressionSQLPrinter printer) {
  if (isAttribute()) {
    printer.printField(getAliasedField());
  }
  // If the mapping is a direct collection then this falls into a gray area.
  // It must be treated as an attribute at this moment for it has a direct field.
  // However it is not an attribute in the sense that it also represents a foreign
  // reference and a mapping criteria has been added.
  // For bug 2900974 these are now handled as non-attributes during normalize but
  // as attributes when printing SQL.
  //
  if ((!isAttribute()) && (getMapping() != null) && getMapping().isDirectCollectionMapping()) {
    DirectCollectionMapping directCollectionMapping = (DirectCollectionMapping)getMapping();
    // The aliased table comes for free as it was a required part of the join criteria.
    TableExpression table = (TableExpression)getTable(directCollectionMapping.getReferenceTable());
    DatabaseTable aliasedTable = table.aliasForTable(table.getTable());
    DatabaseField aliasedField = directCollectionMapping.getDirectField().clone();
    aliasedField.setTable(aliasedTable);
    printer.printField(aliasedField);
  }
  if ((getMapping() != null) && getMapping().isNestedTableMapping()) {
    DatabaseTable tableAlias = aliasForTable(new NestedTable(this));
    printer.printString(tableAlias.getName());
  }
}

代码示例来源:origin: com.haulmont.thirdparty/eclipselink

/**
 * INTERNAL:
 * Print SQL onto the stream, using the ExpressionPrinter for context
 */
@Override
public void printSQL(ExpressionSQLPrinter printer) {
  if (isAttribute()) {
    printer.printField(getAliasedField());
  }
  // If the mapping is a direct collection then this falls into a gray area.
  // It must be treated as an attribute at this moment for it has a direct field.
  // However it is not an attribute in the sense that it also represents a foreign
  // reference and a mapping criteria has been added.
  // For bug 2900974 these are now handled as non-attributes during normalize but
  // as attributes when printing SQL.
  //
  if ((!isAttribute()) && (getMapping() != null) && getMapping().isDirectCollectionMapping()) {
    DirectCollectionMapping directCollectionMapping = (DirectCollectionMapping)getMapping();
    // The aliased table comes for free as it was a required part of the join criteria.
    TableExpression table = (TableExpression)getTable(directCollectionMapping.getReferenceTable());
    DatabaseTable aliasedTable = table.aliasForTable(table.getTable());
    DatabaseField aliasedField = directCollectionMapping.getDirectField().clone();
    aliasedField.setTable(aliasedTable);
    printer.printField(aliasedField);
  }
  if ((getMapping() != null) && getMapping().isNestedTableMapping()) {
    DatabaseTable tableAlias = aliasForTable(new NestedTable(this));
    printer.printString(tableAlias.getName());
  }
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

index.setField(collectionMapping.getListOrderField());
if(collectionMapping.shouldUseListOrderFieldTableExpression()) {
  Expression newBase = getTable(collectionMapping.getListOrderField().getTable());
  index.setBaseExpression(newBase);
} else {

相关文章

微信公众号

最新文章

更多

QueryKeyExpression类方法