Интерфейс JoinRowSet
- Все суперинтерфейсы:
-
AutoCloseable,CachedRowSet,Joinable,ResultSet,RowSet,WebRowSet,Wrapper
public interface JoinRowSet extends WebRowSet
JoinRowSet предоставляет механизм для объединения связанных данных из разных объектов RowSet в один объект JoinRowSet, представляющий собой SQL-запрос JOIN. Другими словами, объект JoinRowSet действует как контейнер для данных из объектов RowSet, образующих SQL-отношение JOIN. Интерфейс Joinable предоставляет методы для установки, получения и сброса столбца соответствия, который является основой для установления SQL-отношения JOIN. Столбец соответствия можно также установить, передав его соответствующей версии метода JointRowSet addRowSet.
1.0 Обзор
Отключенные объектыRowSet (объекты CachedRowSet и реализации, расширяющие интерфейс CachedRowSet) не имеют стандартного способа установления SQL-отношения JOIN между объектами RowSet без дорогостоящей операции повторного подключения к источнику данных. Интерфейс JoinRowSet разработан специально для решения этой проблемы. Любой объект RowSet можно добавить в объект JoinRowSet для включения в SQL-отношение JOIN . Это означает, что как подключенные, так и отключенные объекты RowSet могут быть частью объекта JOIN. Объекты RowSet , работающие в подключенной среде (объекты JdbcRowSet), должны использовать базу данных, к которой они уже подключены, для непосредственного установления SQL-отношений JOIN между таблицами. Однако, при необходимости, объект JdbcRowSet может быть добавлен в объект JoinRowSet .
Любое количество объектов RowSet может быть добавлено в экземпляр JoinRowSet при условии, что они могут быть связаны в SQL-отношении JOIN. По определению, SQL-запрос JOIN используется для объединения данных, содержащихся в двух или более таблицах реляционной базы данных на основе общего атрибута. Интерфейс Joinable предоставляет методы для установления общего атрибута, что делается путем установки столбца соответствия. Столбец соответствия обычно совпадает с первичным ключом, но не требуется, чтобы столбец соответствия был таким же, как первичный ключ. Установив и затем применив соответствия столбцов, объект JoinRowSet устанавливает JOIN отношения между объектами RowSet без помощи доступной реляционной базы данных.
Тип JOIN определяется установкой одной из констант JoinRowSet с помощью метода setJoinType. Следующие типы SQL-запросов JOIN могут быть установлены:
-
CROSS_JOIN -
FULL_JOIN -
INNER_JOIN- значение по умолчанию, если типJOINне был установлен -
LEFT_OUTER_JOIN -
RIGHT_OUTER_JOIN
JOIN автоматически будет внутренним объединением. Комментарии к полям интерфейса JoinRowSet объясняют эти типы JOIN , которые являются стандартными типами SQL-запросов JOIN . 2.0 Использование объекта JoinRowSet для создания объекта JOIN
Когда создается объект JoinRowSet , он пуст. Первый объект RowSet , который будет добавлен, станет основой для отношения JOIN . Приложения должны определить, какой столбец в каждом из объектов RowSet , которые будут добавлены в объект JoinRowSet , должен быть столбцом соответствия. Все объекты RowSet должны содержать столбец соответствия, а значения в каждом столбце соответствия должны быть такими, которые можно сравнить со значениями в других столбцах соответствия. Столбцы не обязательно должны иметь одинаковое имя, хотя часто это так, и они не должны хранить точно такие же типы данных, пока типы данных могут быть сравнимы. Столбец соответствия можно установить двумя способами:
- Вызвав метод
JoinablesetMatchColumn
Это единственный метод, который может установить столбец соответствия до добавления объектаRowSetв объектJoinRowSet. ОбъектRowSetдолжен реализовать интерфейсJoinableдля использования методаsetMatchColumn. После установки значения столбца соответствия этот метод можно использовать для сброса столбца соответствия в любое время. - Вызвав одну из версий метода
JoinRowSetaddRowSet, которая принимает имя или номер столбца (или массив имен или номеров столбцов)
Четыре из пяти методовaddRowSetпринимают столбец соответствия в качестве параметра. Эти четыре метода устанавливают или сбрасывают столбец соответствия в момент добавления объектаRowSetв объектJoinRowSet.
3.0 Пример использования
Следующий фрагмент кода добавляет два объекта CachedRowSet в объект JoinRowSet . Обратите внимание, что в этом примере тип SQL-соединения JOIN не задан, поэтому устанавливается тип по умолчанию JOIN , который является INNER_JOIN.
В следующем фрагменте кода таблица EMPLOYEES, для которой столбец соответствия установлен на первый столбец (EMP_ID ), добавляется в объект JoinRowSet jrs. Затем добавляется таблица ESSP_BONUS_PLAN, для которой столбец соответствия также является столбцом EMP_ID . При добавлении второй таблицы в jrs добавляются только те строки в ESSP_BONUS_PLAN , значение столбца EMP_ID которых совпадает со значением столбца EMP_ID в таблице EMPLOYEES . В этом случае каждый, кто участвует в бонусном плане, является сотрудником, поэтому все строки в таблице ESSP_BONUS_PLAN добавляются в объект JoinRowSet . В этом примере оба объекта CachedRowSet , которые добавляются, реализовали интерфейс Joinable и поэтому могут вызвать метод Joinable setMatchColumn .
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);
В этот момент jrs является внутренним соединением двух объектов RowSet на основе их столбцов EMP_ID . Приложение теперь может просматривать объединенные данные так, как будто это один объект RowSet . Поскольку jrs сам по себе является объектом RowSet , приложение может перемещаться или изменять его с помощью методов RowSet .
jrs.first();
int employeeID = jrs.getInt(1);
String employeeName = jrs.getString(2);
Обратите внимание, что поскольку SQL-соединение должно быть принудительно выполнено при добавлении приложения второго или последующего объекта RowSet , может быть первоначальное снижение производительности во время выполнения JOIN .
Следующий фрагмент кода добавляет дополнительный объект CachedRowSet . В этом случае столбец соответствия (EMP_ID) устанавливается при добавлении объекта CachedRowSet в объект JoinRowSet .
ResultSet rs3 = stmt.executeQuery("SELECT * FROM 401K_CONTRIB");
CachedRowSet fourO1k = new CachedRowSetImpl();
four01k.populate(rs3);
jrs.addRowSet(four01k, 1);
Объект JoinRowSet jrs теперь содержит значения из всех трех таблиц. Данные в каждой строке в four01k , в которых значение столбца EMP_ID совпадает со значением столбца EMP_ID в jrs , были добавлены в jrs .
4.0 Методы JoinRowSet
Интерфейс JoinRowSet предоставляет несколько методов для добавления объектов RowSet и получения информации об объекте JoinRowSet . - Методы для добавления одного или нескольких объектов
RowSet
Эти методы позволяют приложению добавлять один объектRowSetза раз или добавлять несколько объектовRowSetодновременно. В любом случае методы могут указывать столбец соответствия для каждого добавляемого объектаRowSet. - Методы для получения информации
Один метод извлекает объектыRowSetв объектеJoinRowSet, а другой метод извлекает имена столбцовRowSet. Третий метод извлекает либо предложение SQLWHERE, используемое в фоновом режиме для формированияJOIN, или текстовое описание того, что делает предложениеWHERE. - Методы, связанные с типом
JOIN
Один метод устанавливает типJOIN, а пять методов определяют, поддерживает ли объектJoinRowSetданный тип. - Метод для создания отдельной копии объекта
JoinRowSet
Этот метод создает копию, которая может быть сохранена в источнике данных.
- С:
- 1.5
Краткое описание полей
| Modifier and Type | Field | Description |
|---|---|---|
static final int |
CROSS_JOIN |
ANSI-стиль JOIN, предоставляющий перекрёстное произведение двух таблиц |
static final int |
FULL_JOIN |
ANSI-стиль JOIN, обеспечивающий полное соединение. |
static final int |
INNER_JOIN |
ANSI-стиль JOIN, предоставляющий внутреннее соединение между двумя таблицами. |
static final int |
LEFT_OUTER_JOIN |
ANSI-стиль JOIN, обеспечивающий левое внешнее соединение между двумя таблицами. |
static final int |
RIGHT_OUTER_JOIN |
ANSI-стиль JOIN, предоставляющий правое внешнее соединение между двумя таблицами. |
Поля, объявленные в интерфейсе javax.sql.rowset.CachedRowSet
COMMIT_ON_ACCEPT_CHANGES
Поля, объявленные в интерфейсе 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
Поля, объявленные в интерфейсе javax.sql.rowset.WebRowSet
PUBLIC_XML_SCHEMA, SCHEMA_SYSTEM_ID
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
void |
addRowSet |
Добавляет один или несколько объектов RowSet из заданного массива объектов RowSet в этот объект JoinRowSet и устанавливает столбец соответствия для каждого из объектов RowSet на столбцы соответствия в заданном массиве индексов столбцов. |
void |
addRowSet |
Добавляет один или несколько объектов RowSet из заданного массива объектов RowSet в этот объект JoinRowSet и устанавливает столбец соответствия для каждого из объектов RowSet на столбцы соответствия в заданном массиве имён столбцов. |
void |
addRowSet |
Добавляет заданный объект RowSet в этот объект JoinRowSet. |
void |
addRowSet |
Добавляет заданный объект RowSet в этот объект JoinRowSet и устанавливает указанный столбец как столбец соответствия для объекта RowSet. |
void |
addRowSet |
Добавляет rowset в этот объект JoinRowSet и устанавливает указанный столбец в качестве столбца соответствия. |
int |
getJoinType() |
Возвращает int, описывающий тип SQL JOIN набора, управляющего экземпляром JoinRowSet. |
String[] |
getRowSetNames() |
Возвращает массив String, содержащий имена объектов RowSet , добавленных в этот объект JoinRowSet. |
Collection<?> |
getRowSets() |
Возвращает объект Collection, содержащий объекты RowSet, которые были добавлены в этот объект JoinRowSet. |
String |
getWhereClause() |
Возвращает SQL-подобное описание условия WHERE, используемого в объекте JoinRowSet. |
void |
setJoinType |
Позволяет приложению настроить тип JOIN, накладываемый на таблицы, содержащиеся в экземпляре объекта JoinRowSet. |
boolean |
supportsCrossJoin() |
Указывает, поддерживается ли CROSS_JOIN реализацией JoinRowSet |
boolean |
supportsFullJoin() |
Указывает, поддерживается ли FULL_JOIN реализацией JoinRowSet |
boolean |
supportsInnerJoin() |
Указывает, поддерживается ли INNER_JOIN реализацией JoinRowSet |
boolean |
supportsLeftOuterJoin() |
Указывает, поддерживается ли LEFT_OUTER_JOIN реализацией JoinRowSet |
boolean |
supportsRightOuterJoin() |
Указывает, поддерживается ли RIGHT_OUTER_JOIN реализацией JoinRowSet |
CachedRowSet |
toCachedRowSet() |
Создаёт новый объект CachedRowSet, содержащий данные из этого объекта JoinRowSet, который можно сохранить в источник данных, используя объект SyncProvider для объекта CachedRowSet. |
Методы, объявленные в интерфейсе 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
Методы, объявленные в интерфейсе javax.sql.rowset.Joinable
getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn
Методы, объявленные в интерфейсе 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
Методы, объявленные в интерфейсе 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
Методы, объявленные в интерфейсе javax.sql.rowset.WebRowSet
readXml, readXml, writeXml, writeXml, writeXml, writeXml
Методы, объявленные в интерфейсе java.sql.Wrapper
isWrapperFor, unwrap
Подробное описание полей
CROSS_JOIN
static final int CROSS_JOIN
JOIN обеспечивает декартово произведение двух таблиц- См. также:
INNER_JOIN
static final int INNER_JOIN
JOIN обеспечивает внутреннее соединение между двумя таблицами. Любые несоответствующие строки в любой из таблиц соединения должны быть отброшены.- См. также:
LEFT_OUTER_JOIN
static final int LEFT_OUTER_JOIN
JOIN обеспечивает левое внешнее соединение между двумя таблицами. В SQL это описывается как возвращение всех записей с левой стороны оператора JOIN.- См. также:
RIGHT_OUTER_JOIN
static final int RIGHT_OUTER_JOIN
JOIN обеспечивает правое внешнее соединение между двумя таблицами. В SQL это описывается как возвращение всех записей из таблицы справа от оператора JOIN, даже если в левой таблице нет соответствующей записи.- См. также:
FULL_JOIN
static final int FULL_JOIN
JOIN обеспечивает полное соединение JOIN. Указывает, что все строки из любой таблицы должны быть возвращены независимо от наличия совпадающих записей в другой таблице.- См. также:
Подробное описание методов
addRowSet
void addRowSet(Joinable rowset) throws SQLException
RowSet к этому объекту JoinRowSet. Если объект RowSet является первым, который добавляется к этому объекту JoinRowSet, он образует основу отношения JOIN, которое будет установлено. Этот метод следует использовать только тогда, когда данный объект RowSet уже имеет столбец соответствия, который был установлен с помощью метода Joinable setMatchColumn.
Примечание: Объект Joinable - это любой объект RowSet, который реализовал интерфейс Joinable.
- Параметры:
-
rowset- объектRowSet, который должен быть добавлен к этому объектуJoinRowSet; он должен реализовывать интерфейсJoinableи иметь установленный столбец соответствия - Исключения:
-
SQLException- если (1) пустой набор строк добавляется к этому объектуJoinRowSet, (2) столбец соответствия не установлен для rowset или (3) rowset нарушает активноеJOIN - См. также:
addRowSet
void addRowSet(RowSet rowset, int columnIdx) throws SQLException
RowSet к этому объекту JoinRowSet и устанавливает назначенный столбец в качестве столбца соответствия для объекта RowSet. Если объект RowSet является первым, который добавляется к этому объекту JoinRowSet, он образует основу отношения JOIN, которое будет установлено. Этот метод следует использовать, когда у RowSet еще не установлен столбец соответствия.
- Параметры:
-
rowset- объектRowSet, который должен быть добавлен к этому объектуJoinRowSet; он может реализовывать интерфейсJoinable -
columnIdx-int, который идентифицирует столбец, который станет столбцом соответствия - Исключения:
-
SQLException- если (1) rowset является пустым набором строк или (2) rowset нарушает активноеJOIN - См. также:
addRowSet
void addRowSet(RowSet rowset, String columnName) throws SQLException
JoinRowSet и устанавливает назначенный столбец в качестве столбца соответствия. Если rowset является первым, который добавляется к этому объекту JoinRowSet, он образует основу для отношения JOIN, которое будет установлено. Этот метод следует использовать, когда у данного объекта RowSet еще не установлен столбец соответствия.
- Параметры:
-
rowset- объектRowSet, который должен быть добавлен к этому объектуJoinRowSet; он может реализовывать интерфейсJoinable -
columnName- объектString, указывающий имя столбца, который будет установлен в качестве столбца соответствия - Исключения:
-
SQLException- если (1) rowset является пустым набором строк или (2) столбец соответствия для rowset не удовлетворяет условиямJOIN
addRowSet
void addRowSet(RowSet[] rowset, int[] columnIdx) throws SQLException
RowSet из данного массива объектов RowSet к этому объекту JoinRowSet и устанавливает столбец соответствия для каждого из объектов RowSet в столбцы соответствия в данном массиве индексов столбцов. Первый элемент в columnIdx устанавливается в качестве столбца соответствия для первого объекта RowSet в rowset, второй элемент columnIdx устанавливается в качестве столбца соответствия для второго элемента в rowset и так далее. Первый объект RowSet, добавленный к этому объекту JoinRowSet, образует основу для отношения JOIN.
Этот метод следует использовать, когда у данного объекта RowSet еще не установлен столбец соответствия.
- Параметры:
-
rowset- массив из одного или нескольких объектовRowSet, которые должны быть добавлены кJOIN; он может реализовывать интерфейсJoinable -
columnIdx- массив значенийint, указывающих индекс(ы) столбцов, которые должны быть установлены в качестве столбцов соответствия для объектовRowSetв rowset - Исключения:
-
SQLException- если (1) пустой набор строк добавляется к этому объектуJoinRowSet, (2) столбец соответствия не установлен для объектаRowSetв rowset или (3) добавляемый объектRowSetнарушает активноеJOIN
addRowSet
void addRowSet(RowSet[] rowset, String[] columnName) throws SQLException
RowSet из данного массива объектов RowSet к этому объекту JoinRowSet и устанавливает столбец соответствия для каждого из объектов RowSet в столбцы соответствия в данном массиве имен столбцов. Первый элемент в columnName устанавливается в качестве столбца соответствия для первого объекта RowSet в rowset, второй элемент columnName устанавливается в качестве столбца соответствия для второго элемента в rowset и так далее. Первый объект RowSet, добавленный к этому объекту JoinRowSet, образует основу для отношения JOIN.
Этот метод следует использовать, когда у данного объекта (объектов) RowSet еще не установлен столбец соответствия.
- Параметры:
-
rowset- массив из одного или нескольких объектовRowSet, которые должны быть добавлены кJOIN; он может реализовывать интерфейсJoinable -
columnName- массив значенийString, указывающих имена столбцов, которые должны быть установлены в качестве столбцов соответствия для объектовRowSetв rowset - Исключения:
-
SQLException- если (1) пустой набор строк добавляется к этому объектуJoinRowSet, (2) столбец соответствия не установлен для объектаRowSetв rowset или (3) добавляемый объектRowSetнарушает активноеJOIN
getRowSets
Collection<?> getRowSets() throws SQLException
Collection, содержащий объекты RowSet, которые были добавлены к этому объекту JoinRowSet. Он должен возвращать 'n' количество RowSet, содержащихся внутри JOIN, и сохранять любые обновления, которые произошли во время этого объединения.- Возвращает:
- объект
Collection, состоящий из объектовRowSet, добавленных к этому объектуJoinRowSet - Исключения:
-
SQLException- если возникает ошибка при генерации объектаCollection, который должен быть возвращен
getRowSetNames
String[] getRowSetNames() throws SQLException
String, содержащий имена объектов RowSet, добавленных к этому объекту JoinRowSet. - Возвращает:
- массив
Stringимен объектовRowSetв этом объектеJoinRowSet - Исключения:
-
SQLException- если возникает ошибка при получении имен объектовRowSet - См. также:
toCachedRowSet
CachedRowSet toCachedRowSet() throws SQLException
CachedRowSet содержащий данные из этого объекта JoinRowSet, который можно сохранить в источник данных с помощью объекта SyncProvider для объекта CachedRowSet. Если какие-либо обновления или изменения были применены к JoinRowSet, CachedRowSet, возвращаемый методом, не сможет сохранить свои изменения обратно в исходные строки и таблицы в источнике данных. Возвращаемый экземпляр CachedRowSet не должен содержать данные изменений и должен очистить все свойства исходного SQL-запроса. Приложение должно сбросить SQL-запрос с помощью метода RowSet.setCommand.
Для сохранения изменений обратно в источник данных в исходные таблицы следует использовать метод acceptChanges и вызывать его на экземпляре объекта JoinRowSet. Реализации могут использовать внутренние данные и отслеживание обновлений в своих реализациях для взаимодействия с SyncProvider, чтобы сохранить все изменения.
- Возвращает:
- CachedRowSet, содержащий содержимое JoinRowSet
- Бросает:
-
SQLException- если произошла ошибка при сборке объекта CachedRowSet - См. также:
supportsCrossJoin
boolean supportsCrossJoin()
- Возвращает:
- true, если CROSS_JOIN поддерживается; false в противном случае
supportsInnerJoin
boolean supportsInnerJoin()
- Возвращает:
- true, если INNER_JOIN поддерживается; false в противном случае
supportsLeftOuterJoin
boolean supportsLeftOuterJoin()
- Возвращает:
- true, если LEFT_OUTER_JOIN поддерживается; false в противном случае
supportsRightOuterJoin
boolean supportsRightOuterJoin()
- Возвращает:
- true, если RIGHT_OUTER_JOIN поддерживается; false в противном случае
supportsFullJoin
boolean supportsFullJoin()
- Возвращает:
- true, если FULL_JOIN поддерживается; false в противном случае
setJoinType
void setJoinType(int joinType) throws SQLException
JOIN, наложенный на таблицы, содержащиеся в экземпляре объекта JoinRowSet. Реализации должны выбрасывать SQLException, если они не поддерживают заданный тип JOIN. - Параметры:
-
joinType- стандартное статическое поле JoinRowSet.XXX, определяющее SQLJOINдля переконфигурации экземпляра JoinRowSet на лету. - Бросает:
-
SQLException- если задан неподдерживаемый типJOIN - См. также:
getWhereClause
String getWhereClause() throws SQLException
JOIN путём предоставления описания строки SQL условия JOIN или предоставить текстовое описание, чтобы помочь приложениям, использующим JoinRowSet
- Возвращает:
- whereClause текстовое или SQL-описание логического условия WHERE, используемого в экземпляре JoinRowSet
- Бросает:
-
SQLException- если при генерации представления условия WHERE произошла ошибка.
getJoinType
int getJoinType() throws SQLException
int, описывающий набор SQL JOIN типа, управляющего экземпляром JoinRowSet. Возвращаемый тип будет одним из стандартных типов JoinRowSet: CROSS_JOIN, INNER_JOIN, LEFT_OUTER_JOIN, RIGHT_OUTER_JOIN или FULL_JOIN. - Возвращает:
- joinType одно из стандартных статических определений JoinRowSet для SQL
JOIN.JoinRowSet.INNER_JOINвозвращается как значение по умолчаниюJOINтипа, если явно не был задан тип. - Бросает:
-
SQLException- если при определении SQLJOINтипа, поддерживаемого экземпляром JoinRowSet, произошла ошибка. - См. также:
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.sql.rowset/javax/sql/rowset/JoinRowSet.html