JDBC simplemente nombrará las columnas por lo que se especifica en la consulta; no conoce los nombres de las tablas, etc.
Tienes dos opciones:
Opción 1: Nombra 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)
luego, en su código Java, consulte los alias de columna:
resultSet.getString("columnNameA");
resultSet.getString("columnNameB");
Opción 2: Consulte la columna posición en su llamada a la API de JDBC:
resultSet.getString(1);
resultSet.getString(2);
Tenga en cuenta que la API de JDBC utiliza basado en uno índices - es decir, cuentan desde 1
(no de 0
como los índices de Java), así que usa 1
para la primera columna, 2
para la segunda columna, etc
Recomendaría la opción 1, porque es más seguro hacer referencia a columnas con nombre:alguien puede cambiar el orden de las columnas en la consulta y rompería silenciosamente su código (estaría accediendo a la columna incorrecta pero no lo sabría) , pero si cambian los nombres de las columnas, al menos obtendrá una excepción de "no existe tal columna" en el tiempo de ejecución.