Spec-Zone.ru › OpenJDK 24

Интерфейс 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 должны содержать столбец сопоставления, а значения в каждом столбце сопоставления должны быть такими, которые можно сравнить со значениями в других столбцах сопоставления. Столбцы не обязательно должны иметь одинаковые имена, хотя часто они их имеют, и они не обязательно должны хранить один и тот же тип данных, если типы данных могут быть сравнены.

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

  • Вызвав метод Joinable setMatchColumn
    Это единственный метод, который может задать столбец сопоставления до добавления объекта RowSet в объект JoinRowSet. Объект RowSet должен реализовать интерфейс Joinable, чтобы использовать метод setMatchColumn. После того как значение столбца сопоставления будет задано, этот метод может использоваться для сброса столбца сопоставления в любое время.
  • Вызвав один из вариантов метода 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. В этом случае все сотрудники, входящие в план поощрения, являются сотрудниками, поэтому все строки в таблице 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. Третий метод извлекает либо SQL-оператор WHERE, используемый для формирования соединения JOIN, либо текстовое описание того, что делает оператор WHERE.
  • Методы, связанные с типом соединения JOIN
    Один метод задаёт тип соединения JOIN, а пять методов определяют, поддерживает ли объект JoinRowSet данный тип.
  • Метод для создания отдельной копии объекта JoinRowSet
    Этот метод создаёт копию, которую можно сохранить в источнике данных.
С:
1.5

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

Модификатор и тип Поле Описание
static final int CROSS_JOIN
ANSI-стиль JOIN, предоставляющий перекрёстное произведение двух таблиц
static final int FULL_JOIN
ANSI-стиль JOIN, предоставляющий полное соединение (JOIN).
static final int INNER_JOIN
ANSI-стиль JOIN, предоставляющий внутреннее соединение (JOIN) между двумя таблицами.
static final int LEFT_OUTER_JOIN
ANSI-стиль JOIN, предоставляющий левое внешнее соединение (JOIN) между двумя таблицами.
static final int RIGHT_OUTER_JOIN
ANSI-стиль JOIN, предоставляющий правое внешнее соединение (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

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

Модификатор и тип Метод Описание
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.

Методы, объявленные в интерфейсе 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
Стиль ANSI JOIN, обеспечивающий декартово произведение двух таблиц
См. также:
  • Constant Field Values

INNER_JOIN

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

LEFT_OUTER_JOIN

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

RIGHT_OUTER_JOIN

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

FULL_JOIN

static final int FULL_JOIN
Стиль ANSI JOIN, обеспечивающий полное соединение. Указывает, что все строки из любой таблицы должны быть возвращены независимо от наличия совпадающих записей в другой таблице.
См. также:
  • Constant Field Values

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

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. Он должен возвращать 'n' количество RowSet, содержащихся в JOIN, и сохранять любые обновления, которые произошли во время этого объединения.
Возвращает:
объект Collection, состоящий из объектов RowSet, добавленных к этому объекту JoinRowSet
Исключения:
SQLException - если возникает ошибка при генерации объекта Collection, который должен быть возвращен

getRowSetNames

String[] getRowSetNames() throws SQLException
Возвращает массив String, содержащий имена объектов RowSet, добавленных в этот объект JoinRowSet.
Возвращает:
массив String имён объектов RowSet в этом объекте JoinRowSet
Выбрасывает:
SQLException - если при получении имён объектов RowSet произошла ошибка
См. также:
  • CachedRowSet.setTableName(java.lang.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, предоставив строковое описание условия 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)

© 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://download.java.net/java/early_access/jdk24/docs/api/java.sql.rowset/javax/sql/rowset/JoinRowSet.html

Spec-Zone.ru

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