Java Code Examples for java.sql.ResultSet.isAfterLast()

The following are Jave code examples for showing how to use isAfterLast() of the java.sql.ResultSet class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
+ Save this method
Example 1
Project: graphium   File: WaySegmentResultSetExtractor.java   View Source Code Vote up 4 votes
private S createSegment(ResultSet rs, boolean geometry) throws SQLException {
	boolean createfullWaySegment = false;
	
	if (rs.isAfterLast()) {
		return null;
	}
	
	int i = 1;
	while (!createfullWaySegment && i <= rs.getMetaData().getColumnCount()) {
		if (rs.getMetaData().getColumnLabel(i).startsWith(QUERY_PREFIX)) {
			createfullWaySegment = true;
		}
		i++;
	}
	
	long segmentId = rs.getLong("id");

	// TODO: use factory?
	S segment;
	
	if (createfullWaySegment) {
	
		IWaySegment waySegment = new WaySegment();
		waySegment.setId(segmentId);

		mapSegment(waySegment, rs);

		if (geometry) {
			waySegment.setGeometry((LineString) bp.parse(rs.getBytes(QUERY_PREFIX + "_geometry_ewkb")));
		}			

		// map connections
		mapConnections(waySegment, rs);

		segment = (S) waySegment;

	} else {
		segment = (S) new BaseSegment(segmentId, null);
	}
	return segment;
}
 
Example 2
Project: lams   File: Loader.java   View Source Code Vote up 4 votes
/**
 * Loads a single logical row from the result set moving forward.  This is the
 * processing used from the ScrollableResults where there were collection fetches
 * encountered; thus a single logical row may have multiple rows in the underlying
 * result set.
 *
 * @param resultSet The result set from which to do the load.
 * @param session The session from which the request originated.
 * @param queryParameters The query parameters specified by the user.
 * @param returnProxies Should proxies be generated
 * @return The loaded "row".
 * @throws HibernateException
 */
public Object loadSequentialRowsForward(
		final ResultSet resultSet,
		final SessionImplementor session,
		final QueryParameters queryParameters,
		final boolean returnProxies) throws HibernateException {

	// note that for sequential scrolling, we make the assumption that
	// the first persister element is the "root entity"

	try {
		if ( resultSet.isAfterLast() ) {
			// don't even bother trying to read further
			return null;
		}

		if ( resultSet.isBeforeFirst() ) {
			resultSet.next();
		}

		// We call getKeyFromResultSet() here so that we can know the
		// key value upon which to perform the breaking logic.  However,
		// it is also then called from getRowFromResultSet() which is certainly
		// not the most efficient.  But the call here is needed, and there
		// currently is no other way without refactoring of the doQuery()/getRowFromResultSet()
		// methods
		final EntityKey currentKey = getKeyFromResultSet(
				0,
				getEntityPersisters()[0],
				null,
				resultSet,
				session
			);

		return sequentialLoad( resultSet, session, queryParameters, returnProxies, currentKey );
	}
	catch ( SQLException sqle ) {
		throw factory.getSQLExceptionHelper().convert(
				sqle,
				"could not perform sequential read of results (forward)",
				getSQLString()
			);
	}
}