@Override public void process(final StringBuilder out) { final DbEntityDescriptor ded; if (tableRef != null) { ded = lookupTableRef(tableRef); final String tableName = resolveTable(tableRef, ded); out.append(tableName); } else { ded = findColumnRef(columnRef); } if (onlyId) { if (tableRef != null) { out.append('.'); } out.append(ded.getIdColumnName()); } else if (columnRef != null) { DbEntityColumnDescriptor dec = ded.findByPropertyName(columnRef); templateData.lastColumnDec = dec; if (dec == null) { throw new DbSqlBuilderException("Invalid column reference: [" + tableRef + '.' + columnRef + "]"); } if (tableRef != null) { out.append('.'); } out.append(dec.getColumnNameForQuery()); } }
/** * Creates SELECT criteria for the entity matched by foreign key. * Foreign key is created by concatenating foreign table name and column name. */ public DbSqlBuilder findForeign(final Class entity, final Object value) { final String tableRef = createTableRefName(entity); final DbEntityDescriptor dedFk = entityManager.lookupType(value.getClass()); final String tableName = dbOomConfig.getTableNames().convertTableNameToEntityName(dedFk.getTableName()); final String columnName = dbOomConfig.getColumnNames().convertColumnNameToPropertyName(dedFk.getIdColumnName()); final String fkColumn = uncapitalize(tableName) + capitalize(columnName); final Object idValue = BeanUtil.pojo.getProperty(value, dedFk.getIdPropertyName()); return sql().$(SELECT).column(tableRef).$(FROM).table(entity, tableRef).$(WHERE).ref(tableRef, fkColumn).$(EQUALS).columnValue(idValue); }
assertFalse(keyBarBar.equals(keyBar)); assertEquals("idid", userded.getIdColumnName()); assertEquals(User.class.getName() + ":null", userded.getKeyValue(new User()));
@Override public void process(final StringBuilder out) { final DbEntityDescriptor ded; if (tableRef != null) { ded = lookupTableRef(tableRef); final String tableName = resolveTable(tableRef, ded); out.append(tableName); } else { ded = findColumnRef(columnRef); } if (onlyId) { if (tableRef != null) { out.append('.'); } out.append(ded.getIdColumnName()); } else if (columnRef != null) { DbEntityColumnDescriptor dec = ded.findByPropertyName(columnRef); templateData.lastColumnDec = dec; if (dec == null) { throw new DbSqlBuilderException("Invalid column reference: [" + tableRef + '.' + columnRef + "]"); } if (tableRef != null) { out.append('.'); } out.append(dec.getColumnNameForQuery()); } }
@Override public void process(StringBuilder out) { DbEntityDescriptor ded; if (tableRef != null) { ded = lookupTableRef(tableRef); String tableName = resolveTable(tableRef, ded); out.append(tableName); } else { ded = findColumnRef(columnRef); } if (onlyId == true) { if (tableRef != null) { out.append('.'); } out.append(ded.getIdColumnName()); } else if (columnRef != null) { DbEntityColumnDescriptor dec = ded.findByPropertyName(columnRef); templateData.lastColumnDec = dec; String column = dec == null ? null : dec.getColumnName(); //String column = ded.getColumnName(columnRef); if (column == null) { throw new DbSqlBuilderException("Unable to resolve column reference: " + tableRef + '.' + columnRef); } if (tableRef != null) { out.append('.'); } out.append(column); } }
/** * Creates SELECT criteria for the entity matched by foreign key. * Foreign key is created by concatenating foreign table name and column name. */ public DbSqlBuilder findForeign(final Class entity, final Object value) { final String tableRef = createTableRefName(entity); final DbEntityDescriptor dedFk = entityManager.lookupType(value.getClass()); final String tableName = dbOomConfig.getTableNames().convertTableNameToEntityName(dedFk.getTableName()); final String columnName = dbOomConfig.getColumnNames().convertColumnNameToPropertyName(dedFk.getIdColumnName()); final String fkColumn = uncapitalize(tableName) + capitalize(columnName); final Object idValue = BeanUtil.pojo.getProperty(value, dedFk.getIdPropertyName()); return sql().$(SELECT).column(tableRef).$(FROM).table(entity, tableRef).$(WHERE).ref(tableRef, fkColumn).$(EQUALS).columnValue(idValue); }
/** * Creates SELECT criteria for the entity matched by foreign key. * Foreign key is created by concatenating foreign table name and column name. */ public static DbSqlBuilder findForeign(Class entity, Object value) { String tableRef = createTableRefName(entity); DbOomManager dbOomManager = DbOomManager.getInstance(); DbEntityDescriptor dedFk = dbOomManager.lookupType(value.getClass()); String tableName = dbOomManager.getTableNames().convertTableNameToEntityName(dedFk.getTableName()); String columnName = dbOomManager.getColumnNames().convertColumnNameToPropertyName(dedFk.getIdColumnName()); String fkColumn = uncapitalize(tableName) + capitalize(columnName); Object idValue = BeanUtil.getProperty(value, dedFk.getIdPropertyName()); return sql()._(SELECT).column(tableRef)._(FROM).table(entity, tableRef)._(WHERE).ref(tableRef, fkColumn)._(EQUALS).columnValue(idValue); }