Buenas tardes,
tengo un inconveniente y nose como resolver. El problema es que no se si es problema del conector
JDBC, o la base de datos
PostgreSQL, o mi implementacion, ya que no siempre ocurre, es aleatorio.
Tengo este trozo de codigo:
Código Java:
Ver original...
// ejecutamos el SQL para obtener los valores de las columnas del registro
this.getSQLConnector().executeQuery(this.getSQLConnector().prepareStatement(sql, this.getTrxName()), this.getTrxName());
// obtenemos el resultset
final ResultSet loadData
= this.
getSQLConnector().
getResultSet(this.
getTrxName()); // verificamos si tenemos resultado
if (loadData.next()) {
// mostramos un log
this.log.debug("Persistent Object found!");
// recorremos las columnas de la tabla
for (final CType column: this.getTable().getColumns())
// cargamos la columna
this.valuesOld.put(column, loadData.getObject(column.getColumnName()));
...
El error que obtengo es:
Código:
[ERROR] PO:syncdb org.postgresql.util.PSQLException: ResultSet not positioned properly, perhaps you need to call next.
[ERROR] PO:syncdb org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkResultSet(AbstractJdbc2ResultSet.java:2860)
[ERROR] PO:syncdb org.postgresql.jdbc2.AbstractJdbc2ResultSet.getObject(AbstractJdbc2ResultSet.java:2690)
[ERROR] PO:syncdb org.postgresql.jdbc2.AbstractJdbc2ResultSet.getObject(AbstractJdbc2ResultSet.java:2715)
[ERROR] PO:syncdb org.schimpf.sql.modeling.AbstractPersistentObject.load(AbstractPersistentObject.java:1183)
[ERROR] PO:syncdb org.schimpf.sql.modeling.AbstractPersistentObject.<init>(AbstractPersistentObject.java:198)
[ERROR] PO:syncdb org.schimpf.sql.modeling.AbstractPersistentObject.<init>(AbstractPersistentObject.java:234)
...
Como pueden ver en el codigo, luego de ejecutar la consulta
SQL, obtengo el
ResultSet y verifico si el mismo tiene filas invocando al metodo
next(). Luego recorro las columnas y almaceno su valor en un
HashMap. Ahora, el problema es que pasa el
next() y salta la excepcion como si fuera que no se ejecuto el
next(). Vuelvo a repetir, el mayor problema es que es aleatorio, por lo que no logro encontrar el motivo.
Las versiones que estoy ejecutando son:
Java SE 1.7.0_15-b03 (64bit)
PostgreSQL JDBC4 9.2-1002
PostgreSQL 8.4.16
Cualquier ayuda es bienvenida
Muchas Gracias