JDBC simplemente indicar las columnas por lo que se especifica en la consulta - que no sabe nada de los nombres de tabla etc.
Usted tiene dos opciones:
Opción 1: Nombre las columnas de manera diferente en la consulta, es decir,
SELECT
a.columnName as columnNameA,
b.columnName as columnNameB,
...
from table1 a, table2 b where (WHATEVER)
continuación en el código java se refieren a los alias de columna:
resultSet.getString("columnNameA");
resultSet.getString("columnNameB");
Opción 2: Consulte la columna posición en su llamada a la API JDBC:
resultSet.getString(1);
resultSet.getString(2);
Tenga en cuenta que la API JDBC utiliza basados en una índices - es decir, que cuentan a partir 1
(no de 0
como índices de Java), a fin de utilizar 1
para la primera columna, 2
para la segunda columna, etc
Yo recomendaría la opción 1, porque es más seguro para hacer referencia a las columnas con nombre: Alguien puede cambiar el orden de las columnas de la consulta y se rompería en silencio su código (que estaría accediendo a la columna equivocada, pero no sabría), pero si cambian los nombres de las columnas, al menos obtendrá una excepción de "no dicha columna" en el tiempo de ejecución.
ve bien que voy a tener que olvidar el buen * y el nombre de todo y utilizar una asignación adicional. –