Spec-Zone.ru › OpenJDK 25

Интерфейс 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. Это означает, что в JOIN могут входить как подключенные, так и отключенные объекты RowSet. Объектам RowSet, работающим в подключенной среде (объектам JdbcRowSet), рекомендуется использовать уже имеющееся подключение к базе данных для непосредственного установления отношений SQL-JOIN между таблицами. Однако при необходимости объект JdbcRowSet можно добавить в объект JoinRowSet.

К экземпляру JoinRowSet можно добавить любое количество объектов RowSet, если их можно связать отношением 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. Приложения должны определить, какой столбец в каждом из добавляемых в объект JoinRowSet объектов RowSet следует использовать в качестве столбца сопоставления. Все объекты RowSet должны содержать столбец сопоставления, а значения в каждом столбце сопоставления должны допускать сравнение со значениями в других столбцах сопоставления. Столбцы не обязаны иметь одинаковые имена, хотя часто это так, и в них не обязательно должны храниться данные одного и того же типа, если эти типы данных допускают сравнение.

Столбец сопоставления можно задать двумя способами:

  • Вызвав метод Joinable setMatchColumn
    Это единственный метод, с помощью которого можно задать столбец сопоставления до добавления объекта RowSet в объект JoinRowSet. Чтобы использовать метод setMatchColumn, объект RowSet должен реализовывать интерфейс Joinable. После установки значения столбца сопоставления этот метод можно использовать для его сброса в любое время.
  • Вызвав одну из версий метода JoinRowSet addRowSet, принимающую имя или номер столбца (либо массив имен или номеров столбцов)
    Четыре из пяти методов 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. В данном случае все участники бонусной программы являются сотрудниками, поэтому в объект JoinRowSet добавляются все строки таблицы ESSP_BONUS_PLAN. В этом примере оба добавляемых объекта 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);

Обратите внимание: поскольку при добавлении второго или последующего объекта RowSet приложением необходимо обеспечить выполнение SQL-JOIN, во время выполнения 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 теперь содержит значения из всех трех таблиц. В jrs добавлены данные из каждой строки таблицы four01k, в которой значение столбца EMP_ID совпадает со значением столбца EMP_ID в jrs.

4.0 Методы JoinRowSet

Интерфейс JoinRowSet предоставляет несколько методов для добавления объектов RowSet и получения сведений об объекте JoinRowSet.
  • Методы для добавления одного или нескольких объектов RowSet
    Эти методы позволяют приложению добавлять по одному объекту RowSet или несколько объектов RowSet одновременно. В обоих случаях методы могут задавать столбец сопоставления для каждого добавляемого объекта RowSet.
  • Методы для получения сведений
    Один метод получает объекты RowSet из объекта JoinRowSet, а другой — имена RowSet. Третий метод получает либо предложение SQL-WHERE, используемое для формирования JOIN, либо текстовое описание его назначения — того, что делает предложение WHERE.
  • Методы, связанные с типом JOIN
    Один метод задает тип JOIN, а пять методов позволяют определить, поддерживает ли объект JoinRowSet указанный тип.
  • Метод для создания отдельной копии объекта JoinRowSet
    Этот метод создает копию, которую можно сохранить в источнике данных.
Начиная с версии:
1.5

Краткое описание полей

Модификатор и тип Поле Описание
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, выполняющее правое внешнее соединение двух таблиц.

Поля, объявленные в интерфейсе CachedRowSet

COMMIT_ON_ACCEPT_CHANGES

Поля, объявленные в интерфейсе 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

Поля, объявленные в интерфейсе WebRowSet

PUBLIC_XML_SCHEMA, SCHEMA_SYSTEM_ID

Краткое описание методов

Модификатор и тип Метод Описание
void addRowSet(RowSet[] rowset, int[] columnIdx)
Добавляет один или несколько объектов RowSet из заданного массива объектов RowSet в этот объект JoinRowSet и задает для каждого объекта RowSet столбец сопоставления, указанный в заданном массиве индексов столбцов.
void addRowSet(RowSet[] rowset, String[] columnName)
Добавляет один или несколько объектов RowSet из заданного массива объектов RowSet в этот объект JoinRowSet и задает для каждого объекта RowSet столбец сопоставления, указанный в заданном массиве имен столбцов.
void addRowSet(Joinable rowset)
Добавляет заданный объект RowSet в этот объект JoinRowSet.
void addRowSet(RowSet rowset, int columnIdx)
Добавляет заданный объект RowSet в этот объект JoinRowSet и задает указанный столбец в качестве столбца сопоставления для объекта RowSet.
void addRowSet(RowSet rowset, String columnName)
Добавляет rowset в этот объект JoinRowSet и задает указанный столбец в качестве столбца сопоставления.
int getJoinType()
Возвращает объект int с описанием заданного типа SQL-JOIN, управляющего этим экземпляром JoinRowSet.
String[] getRowSetNames()
Возвращает массив String, содержащий имена объектов RowSet, добавленных в этот объект JoinRowSet.
Collection<?> getRowSets()
Возвращает объект Collection, содержащий объекты RowSet, добавленные в этот объект JoinRowSet.
String getWhereClause()
Возвращает описание предложения WHERE в объекте JoinRowSet в формате, похожем на SQL.
void setJoinType(int joinType)
Позволяет приложению настроить тип 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.

Методы, объявленные в интерфейсе 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

Методы, объявленные в интерфейсе Joinable

getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn

Методы, объявленные в интерфейсе 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

Методы, объявленные в интерфейсе 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

Методы, объявленные в интерфейсе WebRowSet

readXml, readXml, writeXml, writeXml, writeXml, writeXml

Методы, объявленные в интерфейсе Wrapper

isWrapperFor, unwrap

Подробное описание полей

CROSS_JOIN

static final int CROSS_JOIN
Оператор JOIN в стиле ANSI, обеспечивающий декартово произведение двух таблиц
См. также:
  • Значения константных полей

INNER_JOIN

static final int INNER_JOIN
Оператор JOIN в стиле ANSI, обеспечивающий внутреннее соединение двух таблиц. Все несовпадающие строки в любой из таблиц соединения должны быть отброшены.
См. также:
  • Значения константных полей

LEFT_OUTER_JOIN

static final int LEFT_OUTER_JOIN
Оператор JOIN в стиле ANSI, обеспечивающий левое внешнее соединение двух таблиц. В SQL это означает, что должны быть возвращены все записи из левой части оператора JOIN.
См. также:
  • Значения константных полей

RIGHT_OUTER_JOIN

static final int RIGHT_OUTER_JOIN
Оператор JOIN в стиле ANSI, обеспечивающий правое внешнее соединение двух таблиц. В SQL это означает, что возвращаются все записи из таблицы в правой части оператора JOIN, даже если в таблице слева нет соответствующей записи.
См. также:
  • Значения константных полей

FULL_JOIN

static final int FULL_JOIN
Оператор JOIN в стиле ANSI, обеспечивающий полное соединение 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
См. также:
  • Joinable.setMatchColumn(int)

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
См. также:
  • Joinable.unsetMatchColumn(int)

addRowSet

void addRowSet(RowSet rowset, String columnName) throws SQLException
Добавляет rowset к этому объекту 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. Он должен возвращать количество RowSet «n», содержащихся в JOIN, и сохранять все обновления, выполненные во время этого объединения.
Возвращает:
объект Collection, состоящий из объектов RowSet, добавленных к этому объекту JoinRowSet
Исключения:
SQLException — если при создании возвращаемого объекта Collection произошла ошибка

getRowSetNames

String[] getRowSetNames() throws SQLException
Возвращает массив String, содержащий имена объектов RowSet, добавленных к этому объекту JoinRowSet.
Возвращает:
массив String с именами объектов RowSet в этом объекте JoinRowSet
Исключения:
SQLException — если при получении имен объектов RowSet произошла ошибка
См. также:
  • CachedRowSet.setTableName(String)

toCachedRowSet

CachedRowSet toCachedRowSet() throws SQLException
Создает новый объект CachedRowSet, содержащий данные этого объекта JoinRowSet, который можно сохранить в источнике данных, используя объект SyncProvider для объекта CachedRowSet.

Если к JoinRowSet были применены обновления или изменения, возвращаемый этим методом CachedRowSet не сможет сохранить их в исходных строках и таблицах источника данных. Возвращаемый экземпляр CachedRowSet не должен содержать данных об изменениях; он также должен очистить все свойства исходного SQL-оператора. Приложению следует сбросить SQL-оператор с помощью метода RowSet.setCommand.

Чтобы изменения можно было сохранить в исходных таблицах источника данных, следует использовать метод acceptChanges и вызвать его для экземпляра объекта JoinRowSet. Реализации могут использовать внутренние механизмы отслеживания данных и обновлений для взаимодействия с SyncProvider и сохранения изменений.

Возвращает:
CachedRowSet, содержащий содержимое JoinRowSet
Исключения:
SQLException — если при формировании объекта CachedRowSet произошла ошибка
См. также:
  • RowSet
  • CachedRowSet
  • SyncProvider

supportsCrossJoin

boolean supportsCrossJoin()
Указывает, поддерживается ли CROSS_JOIN реализацией JoinRowSet
Возвращает:
true, если CROSS_JOIN поддерживается; в противном случае false

supportsInnerJoin

boolean supportsInnerJoin()
Указывает, поддерживается ли INNER_JOIN реализацией JoinRowSet
Возвращает:
true, если INNER_JOIN поддерживается; в противном случае false

supportsLeftOuterJoin

boolean supportsLeftOuterJoin()
Указывает, поддерживается ли LEFT_OUTER_JOIN реализацией JoinRowSet
Возвращает:
true, если LEFT_OUTER_JOIN поддерживается; в противном случае false

supportsRightOuterJoin

boolean supportsRightOuterJoin()
Указывает, поддерживается ли RIGHT_OUTER_JOIN реализацией JoinRowSet
Возвращает:
true, если RIGHT_OUTER_JOIN поддерживается; в противном случае false

supportsFullJoin

boolean supportsFullJoin()
Указывает, поддерживается ли FULL_JOIN реализацией JoinRowSet
Возвращает:
true, если FULL_JOIN поддерживается; в противном случае false

setJoinType

void setJoinType(int joinType) throws SQLException
Позволяет приложению изменить тип JOIN, применяемого к таблицам, содержащимся в экземпляре объекта JoinRowSet. Реализации должны генерировать SQLException, если они не поддерживают указанный тип JOIN.
Параметры:
joinType — стандартное определение статического поля JoinRowSet.XXX, обозначающее SQL JOIN, для динамического изменения конфигурации экземпляра JoinRowSet.
Исключения:
SQLException — если задан неподдерживаемый тип JOIN
См. также:
  • getJoinType()

getWhereClause

String getWhereClause() throws SQLException
Возвращает описание в стиле SQL предложения WHERE, используемого в объекте JoinRowSet. Реализация может описать предложение WHERE SQL 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 — если при определении типа SQL JOIN, поддерживаемого экземпляром JoinRowSet, произошла ошибка.
См. также:
  • setJoinType(int)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.sql.rowset/javax/sql/rowset/JoinRowSet.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API