private String getTable(Connection connection, ClassMeta<T> target) throws SQLException { final Class<Object> targetClass = TypeHelper.toClass(target.getType()); Table table = AliasProviderService.getAliasProvider().getTable(targetClass); StringBuilder sb = new StringBuilder(); if (table.schema() != null && table.schema().length() > 0) { sb.append(table.schema()).append("."); } if (table.table() == null) { DatabaseMetaData metaData = connection.getMetaData(); final ResultSet tables = getTables(connection, metaData); final String className = TypeHelper.toClass(targetClass).getSimpleName(); try { while(tables.next()) { String tableName = tables.getString("TABLE_NAME"); if (DefaultPropertyNameMatcher.of(tableName).matches(className)) { sb.append(tableName); return sb.toString(); } } } finally { tables.close(); } throw new IllegalArgumentException("Type " + target.getType() + " has no table mapping"); } sb.append(table.table()); return sb.toString(); }
private String getTable(Connection connection, ClassMeta<T> target) throws SQLException { final Class<Object> targetClass = TypeHelper.toClass(target.getType()); Table table = AliasProviderService.getAliasProvider().getTable(targetClass); StringBuilder sb = new StringBuilder(); if (table.schema() != null && table.schema().length() > 0) { sb.append(table.schema()).append("."); } if (table.table() == null) { DatabaseMetaData metaData = connection.getMetaData(); final ResultSet tables = getTables(connection, metaData); final String className = TypeHelper.toClass(targetClass).getSimpleName(); try { while(tables.next()) { String tableName = tables.getString("TABLE_NAME"); if (DefaultPropertyNameMatcher.of(tableName).matches(className)) { sb.append(tableName); return sb.toString(); } } } finally { tables.close(); } throw new IllegalArgumentException("Type " + target.getType() + " has no table mapping"); } sb.append(table.table()); return sb.toString(); }