-
- All Superinterfaces:
AutoCloseable,CachedRowSet,Joinable,ResultSet,RowSet,WebRowSet,Wrapper
public interface JoinRowSet extends WebRowSet
TheJoinRowSetinterface provides a mechanism for combining related data from differentRowSetobjects into oneJoinRowSetobject, which represents an SQLJOIN. In other words, aJoinRowSetobject acts as a container for the data fromRowSetobjects that form an SQLJOINrelationship.The
Joinableinterface provides the methods for setting, retrieving, and unsetting a match column, the basis for establishing an SQLJOINrelationship. The match column may alternatively be set by supplying it to the appropriate version of theJointRowSetmethodaddRowSet.1.0 Overview
DisconnectedRowSetobjects (CachedRowSetobjects and implementations extending theCachedRowSetinterface) do not have a standard way to establish an SQLJOINbetweenRowSetobjects without the expensive operation of reconnecting to the data source. TheJoinRowSetinterface is specifically designed to address this need.Any
RowSetobject can be added to aJoinRowSetobject to become part of an SQLJOINrelationship. This means that both connected and disconnectedRowSetobjects can be part of aJOIN.RowSetobjects operating in a connected environment (JdbcRowSetobjects) are encouraged to use the database to which they are already connected to establish SQLJOINrelationships between tables directly. However, it is possible for aJdbcRowSetobject to be added to aJoinRowSetobject if necessary.Any number of
RowSetobjects can be added to an instance ofJoinRowSetprovided that they can be related in an SQLJOIN. By definition, the SQLJOINstatement is used to combine the data contained in two or more relational database tables based upon a common attribute. TheJoinableinterface provides the methods for establishing a common attribute, which is done by setting a match column. The match column commonly coincides with the primary key, but there is no requirement that the match column be the same as the primary key. By establishing and then enforcing column matches, aJoinRowSetobject establishesJOINrelationships betweenRowSetobjects without the assistance of an available relational database.The type of
JOINto be established is determined by setting one of theJoinRowSetconstants using the methodsetJoinType. The following SQLJOINtypes can be set:CROSS_JOINFULL_JOININNER_JOIN- the default if noJOINtype has been setLEFT_OUTER_JOINRIGHT_OUTER_JOIN
JOINwill automatically be an inner join. The comments for the fields in theJoinRowSetinterface explain theseJOINtypes, which are standard SQLJOINtypes.2.0 Using a
When aJoinRowSetObject for Creating aJOINJoinRowSetobject is created, it is empty. The firstRowSetobject to be added becomes the basis for theJOINrelationship. Applications must determine which column in each of theRowSetobjects to be added to theJoinRowSetobject should be the match column. All of theRowSetobjects must contain a match column, and the values in each match column must be ones that can be compared to values in the other match columns. The columns do not have to have the same name, though they often do, and they do not have to store the exact same data type as long as the data types can be compared.A match column can be set in two ways:
- By calling the
JoinablemethodsetMatchColumn
This is the only method that can set the match column before aRowSetobject is added to aJoinRowSetobject. TheRowSetobject must have implemented theJoinableinterface in order to use the methodsetMatchColumn. Once the match column value has been set, this method can be used to reset the match column at any time. - By calling one of the versions of the
JoinRowSetmethodaddRowSetthat takes a column name or number (or an array of column names or numbers)
Four of the fiveaddRowSetmethods take a match column as a parameter. These four methods set or reset the match column at the time aRowSetobject is being added to aJoinRowSetobject.
3.0 Sample Usage
The following code fragment adds two
CachedRowSetobjects to aJoinRowSetobject. Note that in this example, no SQLJOINtype is set, so the defaultJOINtype, which is INNER_JOIN, is established.In the following code fragment, the table
EMPLOYEES, whose match column is set to the first column (EMP_ID), is added to theJoinRowSetobject jrs. Then the tableESSP_BONUS_PLAN, whose match column is likewise theEMP_IDcolumn, is added. When this second table is added to jrs, only the rows inESSP_BONUS_PLANwhoseEMP_IDvalue matches anEMP_IDvalue in theEMPLOYEEStable are added. In this case, everyone in the bonus plan is an employee, so all of the rows in the tableESSP_BONUS_PLANare added to theJoinRowSetobject. In this example, bothCachedRowSetobjects being added have implemented theJoinableinterface and can therefore call theJoinablemethodsetMatchColumn.JoinRowSet jrs = new JoinRowSetImpl(); ResultSet rs1 = stmt.executeQuery("SELECT * FROM EMPLOYEES"); CachedRowSet empl = new CachedRowSetImpl(); empl.populate(rs1); empl.setMatchColumn(1); jrs.addRowSet(empl); ResultSet rs2 = stmt.executeQuery("SELECT * FROM ESSP_BONUS_PLAN"); CachedRowSet bonus = new CachedRowSetImpl(); bonus.populate(rs2); bonus.setMatchColumn(1); // EMP_ID is the first column jrs.addRowSet(bonus);At this point, jrs is an inside JOIN of the two
RowSetobjects based on theirEMP_IDcolumns. The application can now browse the combined data as if it were browsing one singleRowSetobject. Because jrs is itself aRowSetobject, an application can navigate or modify it usingRowSetmethods.jrs.first(); int employeeID = jrs.getInt(1); String employeeName = jrs.getString(2);Note that because the SQL
JOINmust be enforced when an application adds a second or subsequentRowSetobject, there may be an initial degradation in performance while theJOINis being performed.The following code fragment adds an additional
CachedRowSetobject. In this case, the match column (EMP_ID) is set when theCachedRowSetobject is added to theJoinRowSetobject.ResultSet rs3 = stmt.executeQuery("SELECT * FROM 401K_CONTRIB"); CachedRowSet fourO1k = new CachedRowSetImpl(); four01k.populate(rs3); jrs.addRowSet(four01k, 1);The
JoinRowSetobject jrs now contains values from all three tables. The data in each row in four01k in which the value for theEMP_IDcolumn matches a value for theEMP_IDcolumn in jrs has been added to jrs.4.0
TheJoinRowSetMethodsJoinRowSetinterface supplies several methods for addingRowSetobjects and for getting information about theJoinRowSetobject.- Methods for adding one or more
RowSetobjects
These methods allow an application to add oneRowSetobject at a time or to add multipleRowSetobjects at one time. In either case, the methods may specify the match column for eachRowSetobject being added. - Methods for getting information
One method retrieves theRowSetobjects in theJoinRowSetobject, and another method retrieves theRowSetnames. A third method retrieves either the SQLWHEREclause used behind the scenes to form theJOINor a text description of what theWHEREclause does. - Methods related to the type of
JOIN
One method sets theJOINtype, and five methods find out whether theJoinRowSetobject supports a given type. - A method to make a separate copy of the
JoinRowSetobject
This method creates a copy that can be persisted to the data source.
- Since:
- 1.5
-
-
Field Summary
Fields Modifier and Type Field Description static intCROSS_JOINAn ANSI-styleJOINproviding a cross product of two tablesstatic intFULL_JOINAn ANSI-styleJOINproviding a full JOIN.static intINNER_JOINAn ANSI-styleJOINproviding a inner join between two tables.static intLEFT_OUTER_JOINAn ANSI-styleJOINproviding a left outer join between two tables.static intRIGHT_OUTER_JOINAn ANSI-styleJOINproviding a right outer join between two tables.-
Fields declared in interface javax.sql.rowset.CachedRowSet
COMMIT_ON_ACCEPT_CHANGES
-
Fields declared in interface java.sql.ResultSet
CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE
-
Fields declared in interface javax.sql.rowset.WebRowSet
PUBLIC_XML_SCHEMA, SCHEMA_SYSTEM_ID
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddRowSet(Joinable rowset)Adds the givenRowSetobject to thisJoinRowSetobject.voidaddRowSet(RowSet[] rowset, int[] columnIdx)Adds one or moreRowSetobjects contained in the given array ofRowSetobjects to thisJoinRowSetobject and sets the match column for each of theRowSetobjects to the match columns in the given array of column indexes.voidaddRowSet(RowSet[] rowset, String[] columnName)Adds one or moreRowSetobjects contained in the given array ofRowSetobjects to thisJoinRowSetobject and sets the match column for each of theRowSetobjects to the match columns in the given array of column names.voidaddRowSet(RowSet rowset, int columnIdx)Adds the givenRowSetobject to thisJoinRowSetobject and sets the designated column as the match column for theRowSetobject.voidaddRowSet(RowSet rowset, String columnName)Adds rowset to thisJoinRowSetobject and sets the designated column as the match column.intgetJoinType()Returns aintdescribing the set SQLJOINtype governing this JoinRowSet instance.String[]getRowSetNames()Returns aStringarray containing the names of theRowSetobjects added to thisJoinRowSetobject.Collection<?>getRowSets()Returns aCollectionobject containing theRowSetobjects that have been added to thisJoinRowSetobject.StringgetWhereClause()Return a SQL-like description of the WHERE clause being used in a JoinRowSet object.voidsetJoinType(int joinType)Allow the application to adjust the type ofJOINimposed on tables contained within the JoinRowSet object instance.booleansupportsCrossJoin()Indicates if CROSS_JOIN is supported by a JoinRowSet implementationbooleansupportsFullJoin()Indicates if FULL_JOIN is supported by a JoinRowSet implementationbooleansupportsInnerJoin()Indicates if INNER_JOIN is supported by a JoinRowSet implementationbooleansupportsLeftOuterJoin()Indicates if LEFT_OUTER_JOIN is supported by a JoinRowSet implementationbooleansupportsRightOuterJoin()Indicates if RIGHT_OUTER_JOIN is supported by a JoinRowSet implementationCachedRowSettoCachedRowSet()Creates a newCachedRowSetobject containing the data in thisJoinRowSetobject, which can be saved to a data source using theSyncProviderobject for theCachedRowSetobject.-
Methods declared in interface javax.sql.rowset.CachedRowSet
acceptChanges, acceptChanges, columnUpdated, columnUpdated, commit, createCopy, createCopyNoConstraints, createCopySchema, createShared, execute, getKeyColumns, getOriginal, getOriginalRow, getPageSize, getRowSetWarnings, getShowDeleted, getSyncProvider, getTableName, nextPage, populate, populate, previousPage, release, restoreOriginal, rollback, rollback, rowSetPopulated, setKeyColumns, setMetaData, setOriginalRow, setPageSize, setShowDeleted, setSyncProvider, setTableName, size, toCollection, toCollection, toCollection, undoDelete, undoInsert, undoUpdate
-
Methods declared in interface javax.sql.rowset.Joinable
getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn
-
Methods declared in interface java.sql.ResultSet
absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, close, deleteRow, findColumn, first, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getConcurrency, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getHoldability, getInt, getInt, getLong, getLong, getMetaData, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getRef, getRef, getRow, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getStatement, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isClosed, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, next, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setFetchDirection, setFetchSize, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateRowId, updateRowId, updateShort, updateShort, updateSQLXML, updateSQLXML, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp, wasNull
-
Methods declared in interface javax.sql.RowSet
addRowSetListener, clearParameters, execute, getCommand, getDataSourceName, getEscapeProcessing, getMaxFieldSize, getMaxRows, getPassword, getQueryTimeout, getTransactionIsolation, getTypeMap, getUrl, getUsername, isReadOnly, removeRowSetListener, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBlob, setBlob, setBlob, setBoolean, setBoolean, setByte, setByte, setBytes, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setClob, setClob, setClob, setCommand, setConcurrency, setDataSourceName, setDate, setDate, setDate, setDate, setDouble, setDouble, setEscapeProcessing, setFloat, setFloat, setInt, setInt, setLong, setLong, setMaxFieldSize, setMaxRows, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNClob, setNClob, setNClob, setNString, setNString, setNull, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setObject, setPassword, setQueryTimeout, setReadOnly, setRef, setRowId, setRowId, setShort, setShort, setSQLXML, setSQLXML, setString, setString, setTime, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setTransactionIsolation, setType, setTypeMap, setUrl, setURL, setUsername
-
Methods declared in interface javax.sql.rowset.WebRowSet
readXml, readXml, writeXml, writeXml, writeXml, writeXml
-
Methods declared in interface java.sql.Wrapper
isWrapperFor, unwrap
-
-
-
-
Field Detail
-
CROSS_JOIN
static final int CROSS_JOIN
An ANSI-styleJOINproviding a cross product of two tables- See Also:
- Constant Field Values
-
INNER_JOIN
static final int INNER_JOIN
An ANSI-styleJOINproviding a inner join between two tables. Any unmatched rows in either table of the join should be discarded.- See Also:
- Constant Field Values
-
LEFT_OUTER_JOIN
static final int LEFT_OUTER_JOIN
An ANSI-styleJOINproviding a left outer join between two tables. In SQL, this is described where all records should be returned from the left side of the JOIN statement.- See Also:
- Constant Field Values
-
RIGHT_OUTER_JOIN
static final int RIGHT_OUTER_JOIN
An ANSI-styleJOINproviding a right outer join between two tables. In SQL, this is described where all records from the table on the right side of the JOIN statement even if the table on the left has no matching record.- See Also:
- Constant Field Values
-
FULL_JOIN
static final int FULL_JOIN
An ANSI-styleJOINproviding a full JOIN. Specifies that all rows from either table be returned regardless of matching records on the other table.- See Also:
- Constant Field Values
-
-
Method Detail
-
addRowSet
void addRowSet(Joinable rowset) throws SQLException
Adds the givenRowSetobject to thisJoinRowSetobject. If theRowSetobject is the first to be added to thisJoinRowSetobject, it forms the basis of theJOINrelationship to be established.This method should be used only when the given
RowSetobject already has a match column that was set with theJoinablemethodsetMatchColumn.Note: A
Joinableobject is anyRowSetobject that has implemented theJoinableinterface.- Parameters:
rowset- theRowSetobject that is to be added to thisJoinRowSetobject; it must implement theJoinableinterface and have a match column set- Throws:
SQLException- if (1) an empty rowset is added to the to thisJoinRowSetobject, (2) a match column has not been set for rowset, or (3) rowset violates the activeJOIN- See Also:
Joinable.setMatchColumn(int)
-
addRowSet
void addRowSet(RowSet rowset, int columnIdx) throws SQLException
Adds the givenRowSetobject to thisJoinRowSetobject and sets the designated column as the match column for theRowSetobject. If theRowSetobject is the first to be added to thisJoinRowSetobject, it forms the basis of theJOINrelationship to be established.This method should be used when RowSet does not already have a match column set.
- Parameters:
rowset- theRowSetobject that is to be added to thisJoinRowSetobject; it may implement theJoinableinterfacecolumnIdx- anintthat identifies the column to become the match column- Throws:
SQLException- if (1) rowset is an empty rowset or (2) rowset violates the activeJOIN- See Also:
Joinable.unsetMatchColumn(int)
-
addRowSet
void addRowSet(RowSet rowset, String columnName) throws SQLException
Adds rowset to thisJoinRowSetobject and sets the designated column as the match column. If rowset is the first to be added to thisJoinRowSetobject, it forms the basis for theJOINrelationship to be established.This method should be used when the given
RowSetobject does not already have a match column.- Parameters:
rowset- theRowSetobject that is to be added to thisJoinRowSetobject; it may implement theJoinableinterfacecolumnName- theStringobject giving the name of the column to be set as the match column- Throws:
SQLException- if (1) rowset is an empty rowset or (2) the match column for rowset does not satisfy the conditions of theJOIN
-
addRowSet
void addRowSet(RowSet[] rowset, int[] columnIdx) throws SQLException
Adds one or moreRowSetobjects contained in the given array ofRowSetobjects to thisJoinRowSetobject and sets the match column for each of theRowSetobjects to the match columns in the given array of column indexes. The first element in columnIdx is set as the match column for the firstRowSetobject in rowset, the second element of columnIdx is set as the match column for the second element in rowset, and so on.The first
RowSetobject added to thisJoinRowSetobject forms the basis for theJOINrelationship.This method should be used when the given
RowSetobject does not already have a match column.- Parameters:
rowset- an array of one or moreRowSetobjects to be added to theJOIN; it may implement theJoinableinterfacecolumnIdx- an array ofintvalues indicating the index(es) of the columns to be set as the match columns for theRowSetobjects in rowset- Throws:
SQLException- if (1) an empty rowset is added to thisJoinRowSetobject, (2) a match column is not set for aRowSetobject in rowset, or (3) aRowSetobject being added violates the activeJOIN
-
addRowSet
void addRowSet(RowSet[] rowset, String[] columnName) throws SQLException
Adds one or moreRowSetobjects contained in the given array ofRowSetobjects to thisJoinRowSetobject and sets the match column for each of theRowSetobjects to the match columns in the given array of column names. The first element in columnName is set as the match column for the firstRowSetobject in rowset, the second element of columnName is set as the match column for the second element in rowset, and so on.The first
RowSetobject added to thisJoinRowSetobject forms the basis for theJOINrelationship.This method should be used when the given
RowSetobject(s) does not already have a match column.- Parameters:
rowset- an array of one or moreRowSetobjects to be added to theJOIN; it may implement theJoinableinterfacecolumnName- an array ofStringvalues indicating the names of the columns to be set as the match columns for theRowSetobjects in rowset- Throws:
SQLException- if (1) an empty rowset is added to thisJoinRowSetobject, (2) a match column is not set for aRowSetobject in rowset, or (3) aRowSetobject being added violates the activeJOIN
-
getRowSets
Collection<?> getRowSets() throws SQLException
Returns aCollectionobject containing theRowSetobjects that have been added to thisJoinRowSetobject. This should return the 'n' number of RowSet contained within theJOINand maintain any updates that have occurred while in this union.- Returns:
- a
Collectionobject consisting of theRowSetobjects added to thisJoinRowSetobject - Throws:
SQLException- if an error occurs generating theCollectionobject to be returned
-
getRowSetNames
String[] getRowSetNames() throws SQLException
Returns aStringarray containing the names of theRowSetobjects added to thisJoinRowSetobject.- Returns:
- a
Stringarray of the names of theRowSetobjects in thisJoinRowSetobject - Throws:
SQLException- if an error occurs retrieving the names of theRowSetobjects- See Also:
CachedRowSet.setTableName(java.lang.String)
-
toCachedRowSet
CachedRowSet toCachedRowSet() throws SQLException
Creates a newCachedRowSetobject containing the data in thisJoinRowSetobject, which can be saved to a data source using theSyncProviderobject for theCachedRowSetobject.If any updates or modifications have been applied to the JoinRowSet the CachedRowSet returned by the method will not be able to persist it's changes back to the originating rows and tables in the in the datasource. The CachedRowSet instance returned should not contain modification data and it should clear all properties of it's originating SQL statement. An application should reset the SQL statement using the
RowSet.setCommandmethod.In order to allow changes to be persisted back to the datasource to the originating tables, the
acceptChangesmethod should be used and called on a JoinRowSet object instance. Implementations can leverage the internal data and update tracking in their implementations to interact with the SyncProvider to persist any changes.- Returns:
- a CachedRowSet containing the contents of the JoinRowSet
- Throws:
SQLException- if an error occurs assembling the CachedRowSet object- See Also:
RowSet,CachedRowSet,SyncProvider
-
supportsCrossJoin
boolean supportsCrossJoin()
Indicates if CROSS_JOIN is supported by a JoinRowSet implementation- Returns:
- true if the CROSS_JOIN is supported; false otherwise
-
supportsInnerJoin
boolean supportsInnerJoin()
Indicates if INNER_JOIN is supported by a JoinRowSet implementation- Returns:
- true is the INNER_JOIN is supported; false otherwise
-
supportsLeftOuterJoin
boolean supportsLeftOuterJoin()
Indicates if LEFT_OUTER_JOIN is supported by a JoinRowSet implementation- Returns:
- true is the LEFT_OUTER_JOIN is supported; false otherwise
-
supportsRightOuterJoin
boolean supportsRightOuterJoin()
Indicates if RIGHT_OUTER_JOIN is supported by a JoinRowSet implementation- Returns:
- true is the RIGHT_OUTER_JOIN is supported; false otherwise
-
supportsFullJoin
boolean supportsFullJoin()
Indicates if FULL_JOIN is supported by a JoinRowSet implementation- Returns:
- true is the FULL_JOIN is supported; false otherwise
-
setJoinType
void setJoinType(int joinType) throws SQLExceptionAllow the application to adjust the type ofJOINimposed on tables contained within the JoinRowSet object instance. Implementations should throw a SQLException if they do not support a givenJOINtype.- Parameters:
joinType- the standard JoinRowSet.XXX static field definition of a SQLJOINto re-configure a JoinRowSet instance on the fly.- Throws:
SQLException- if an unsupportedJOINtype is set- See Also:
getJoinType()
-
getWhereClause
String getWhereClause() throws SQLException
Return a SQL-like description of the WHERE clause being used in a JoinRowSet object. An implementation can describe the WHERE clause of the SQLJOINby supplying a SQL strings description ofJOINor provide a textual description to assist applications using aJoinRowSet- Returns:
- whereClause a textual or SQL description of the logical WHERE clause used in the JoinRowSet instance
- Throws:
SQLException- if an error occurs in generating a representation of the WHERE clause.
-
getJoinType
int getJoinType() throws SQLExceptionReturns aintdescribing the set SQLJOINtype governing this JoinRowSet instance. The returned type will be one of standard JoinRowSet types:CROSS_JOIN,INNER_JOIN,LEFT_OUTER_JOIN,RIGHT_OUTER_JOINorFULL_JOIN.- Returns:
- joinType one of the standard JoinRowSet static field
definitions of a SQL
JOIN.JoinRowSet.INNER_JOINis returned as the defaultJOINtype is no type has been explicitly set. - Throws:
SQLException- if an error occurs determining the SQLJOINtype supported by the JoinRowSet instance.- See Also:
setJoinType(int)
-
-