Spec-Zone.ru › OpenJDK 24

Интерфейс Joinable

Все известные подинтерфейсы:
CachedRowSet, FilteredRowSet, JdbcRowSet, JoinRowSet, WebRowSet
public interface Joinable

1.0 Общие сведения

Этот интерфейс Joinable предоставляет методы для получения и установки столбца соответствия, который является основой для формирования SQL-JOIN, созданного путем добавления объектов RowSet в объект JoinRowSet.

Любая стандартная реализация RowSet может реализовать интерфейс Joinable, чтобы быть добавленной в объект JoinRowSet. Реализация этого интерфейса предоставляет объекту RowSet возможность использования методов Joinable, которые устанавливают, извлекают и получают информацию о столбцах соответствия. Приложение может добавить объект RowSet, который не реализовал интерфейс Joinable, в объект JoinRowSet, но для этого необходимо использовать один из методов JoinRowSet.addRowSet, принимающий как объект RowSet и столбец соответствия, так и массив объектов RowSet и массив столбцов соответствия.

Для получения доступа к методам интерфейса Joinable, объект RowSet реализует по меньшей мере один из пяти стандартных интерфейсов RowSet и также реализует интерфейс Joinable. Кроме того, большинство объектов RowSet расширяют класс BaseRowSet. Например:

     class MyRowSetImpl extends BaseRowSet implements CachedRowSet, Joinable {
         :
         :
     }
 

2.0 Руководство по использованию

Методы интерфейса Joinable позволяют объекту RowSet установить столбец соответствия, извлечь столбец соответствия или сбросить столбец соответствия, который является столбцом, на основе которого может быть построен SQL-JOIN. Экземпляр класса, реализующего эти методы, может быть добавлен в объект JoinRowSet для создания SQL-JOIN отношения.

     CachedRowSet crs = new MyRowSetImpl();
     crs.populate((ResultSet)rs);
     (Joinable)crs.setMatchColumnIndex(1);

     JoinRowSet jrs = new JoinRowSetImpl();
     jrs.addRowSet(crs);
 
В предыдущем примере crs — это объект CachedRowSet, реализовавший интерфейс Joinable. В следующем примере crs2 этого не делает, поэтому он должен предоставить столбец соответствия как аргумент методу addRowSet. Этот пример предполагает, что столбец 1 является столбцом соответствия.
     CachedRowSet crs2 = new MyRowSetImpl();
     crs2.populate((ResultSet)rs);

     JoinRowSet jrs2 = new JoinRowSetImpl();
     jrs2.addRowSet(crs2, 1);
 

Интерфейс JoinRowSet позволяет получать данные из одного или нескольких объектов RowSet, объединенных в одну таблицу, не тратя ресурсы на создание подключения к базе данных. Поэтому он идеально подходит для использования объектами RowSet, работающими без подключения. Тем не менее, любой объект RowSet может реализовать этот интерфейс, независимо от того, подключен он или нет. Обратите внимание, что объект JdbcRowSet, всегда подключенный к источнику данных, может стать частью SQL-JOIN непосредственно, не становясь частью объекта JoinRowSet.

3.0 Управление несколькими столбцами соответствия

Массив индексов, переданный в методы setMatchColumn, указывает, сколько столбцов соответствия устанавливается (длина массива), а также какие столбцы будут использоваться для соответствия. Например:
     int[] i = {1, 2, 4, 7}; // indicates four match columns, with column
                             // indexes 1, 2, 4, 7 participating in the JOIN.
     Joinable.setMatchColumn(i);
 
Последующие столбцы соответствия могут быть добавлены следующим образом в другой объект Joinable (объект RowSet, реализовавший интерфейс Joinable).
     int[] w = {3, 2, 5, 3};
     Joinable2.setMatchColumn(w);
 
Когда приложение добавляет два или более объектов RowSet в объект JoinRowSet, порядок индексов в массиве имеет особое значение. Каждый индекс массива напрямую соответствует соответствующему индексу ранее добавленного объекта RowSet. При возникновении перекрытия или несовпадения данные столбца соответствия сохраняются в случае добавления дополнительного набора строк Joinable, который должен быть связан с данными столбца соответствия. Таким образом, приложения могут устанавливать несколько столбцов соответствия в любом порядке, но этот порядок напрямую влияет на результат соединения SQL JOIN.

Это утверждение справедливо в точности так же, когда для указания столбцов соответствия используются имена столбцов, а не индексы столбцов.

С:
1.5
См. также:
  • JoinRowSet

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

Модификатор и тип Метод Описание
int[] getMatchColumnIndexes()
Извлекает индексы столбцов соответствия, которые были установлены для этого объекта RowSet с помощью метода setMatchColumn(int[] columnIdxes).
String[] getMatchColumnNames()
Извлекает имена столбцов соответствия, которые были установлены для этого объекта RowSet с помощью метода setMatchColumn(String [] columnNames).
void setMatchColumn(int columnIdx)
Устанавливает указанный столбец как столбец соответствия для этого объекта RowSet.
void setMatchColumn(int[] columnIdxes)
Устанавливает указанные столбцы как столбец соответствия для этого объекта RowSet.
void setMatchColumn(String columnName)
Устанавливает указанный столбец как столбец соответствия для этого объекта RowSet.
void setMatchColumn(String[] columnNames)
Устанавливает указанные столбцы как столбец соответствия для этого объекта RowSet.
void unsetMatchColumn(int columnIdx)
Сбрасывает указанный столбец как столбец соответствия для этого объекта RowSet.
void unsetMatchColumn(int[] columnIdxes)
Сбрасывает указанные столбцы как столбец соответствия для этого объекта RowSet.
void unsetMatchColumn(String columnName)
Сбрасывает указанный столбец как столбец соответствия для этого объекта RowSet.
void unsetMatchColumn(String[] columnName)
Сбрасывает указанные столбцы как столбцы соответствия для этого объекта RowSet.

Подробное описание методов

setMatchColumn

void setMatchColumn(int columnIdx) throws SQLException
Устанавливает указанный столбец в качестве столбца соответствия для этого RowSet объекта. Теперь объект JoinRowSet может добавить этот RowSet объект на основе столбца соответствия.

Подинтерфейсы, такие как интерфейс CachedRowSet, определяют метод CachedRowSet.setKeyColumns, который позволяет применять семантику первичного ключа к определённым столбцам. Реализации метода setMatchColumn(int columnIdx) должны гарантировать, что ограничения на столбцы ключа сохраняются, когда объект CachedRowSet устанавливает столбец первичного ключа в качестве столбца соответствия.

Параметры:
columnIdx - целое число, определяющее индекс столбца, который должен быть установлен в качестве столбца соответствия
Исключения:
SQLException - если установлен неверный индекс столбца
См. также:
  • setMatchColumn(int[])
  • unsetMatchColumn(int)

setMatchColumn

void setMatchColumn(int[] columnIdxes) throws SQLException
Устанавливает указанные столбцы в качестве столбцов соответствия для этого объекта RowSet. Теперь объект JoinRowSet может добавить этот объект RowSet на основе столбцов соответствия.
Параметры:
columnIdxes - массив целых чисел, определяющий индексы столбцов, которые должны быть установлены в качестве столбцов соответствия
Исключения:
SQLException - если установлен неверный индекс столбца
См. также:
  • setMatchColumn(int[])
  • unsetMatchColumn(int[])

setMatchColumn

void setMatchColumn(String columnName) throws SQLException
Устанавливает указанный столбец в качестве столбца соответствия для этого RowSet объекта. Теперь объект JoinRowSet может добавить этот объект RowSet на основе столбца соответствия.

Подинтерфейсы, такие как интерфейс CachedRowSet, определяют метод CachedRowSet.setKeyColumns, который позволяет применять семантику первичного ключа к определённым столбцам. Реализации метода setMatchColumn(String columnIdx) должны гарантировать, что ограничения на столбцы ключа сохраняются, когда объект CachedRowSet устанавливает столбец первичного ключа в качестве столбца соответствия.

Параметры:
columnName - объект String, указывающий имя столбца, который должен быть установлен в качестве столбца соответствия
Исключения:
SQLException - если установлено неверное имя столбца, имя столбца null или пустая строка
См. также:
  • unsetMatchColumn(int)
  • setMatchColumn(int[])

setMatchColumn

void setMatchColumn(String[] columnNames) throws SQLException
Устанавливает указанные столбцы в качестве столбцов соответствия для этого объекта RowSet. Теперь объект JoinRowSet может добавить этот объект RowSet на основе столбцов соответствия.
Параметры:
columnNames - массив объектов String, указывающий имена столбцов, которые должны быть установлены в качестве столбцов соответствия
Исключения:
SQLException - если установлено неверное имя столбца, имя столбца null или пустая строка
См. также:
  • unsetMatchColumn(int)
  • setMatchColumn(int[])

getMatchColumnIndexes

int[] getMatchColumnIndexes() throws SQLException
Возвращает индексы столбцов соответствия, установленных для этого объекта RowSet с помощью метода setMatchColumn(int[] columnIdxes).
Возвращает:
массив целых чисел, определяющий индексы столбцов, установленных в качестве столбцов соответствия для этого объекта RowSet
Исключения:
SQLException - если столбец соответствия не установлен
См. также:
  • setMatchColumn(int)
  • unsetMatchColumn(int)

getMatchColumnNames

String[] getMatchColumnNames() throws SQLException
Возвращает имена столбцов соответствия, установленные для этого объекта RowSet с помощью метода setMatchColumn(String [] columnNames).
Возвращает:
массив объектов String, содержащий имена столбцов, установленных в качестве столбцов соответствия для этого объекта RowSet
Исключения:
SQLException - если столбец соответствия не установлен
См. также:
  • setMatchColumn(int)
  • unsetMatchColumn(int)

unsetMatchColumn

void unsetMatchColumn(int columnIdx) throws SQLException
Удаляет указанный столбец в качестве столбца соответствия для этого объекта RowSet.

Объекты RowSet, реализующие интерфейс Joinable, должны гарантировать, что ограничение типа ключа продолжает выполняться до тех пор, пока метод CachedRowSet.unsetKeyColumns не будет вызван для выделенного столбца.

Параметры:
columnIdx - целое число, определяющее индекс столбца, который нужно удалить в качестве столбца соответствия
Исключения:
SQLException - если указан неверный индекс столбца или указанный столбец ранее не был установлен в качестве столбца соответствия
См. также:
  • setMatchColumn(int)

unsetMatchColumn

void unsetMatchColumn(int[] columnIdxes) throws SQLException
Удаляет указанные столбцы в качестве столбцов соответствия для этого объекта RowSet.
Параметры:
columnIdxes - массив целых чисел, определяющий индексы столбцов, которые нужно удалить в качестве столбцов соответствия
Исключения:
SQLException - если указан неверный индекс столбца или указанный столбец ранее не был установлен в качестве столбца соответствия
См. также:
  • setMatchColumn(int)

unsetMatchColumn

void unsetMatchColumn(String columnName) throws SQLException
Удаляет указанный столбец в качестве столбца соответствия для этого объекта RowSet.

Объекты RowSet, реализующие интерфейс Joinable, должны гарантировать, что ограничение типа ключа продолжает выполняться до тех пор, пока метод CachedRowSet.unsetKeyColumns не будет вызван для выделенного столбца.

Параметры:
columnName - объект String, указывающий имя столбца, который нужно удалить в качестве столбца соответствия
Исключения:
SQLException - если указано неверное имя столбца или указанный столбец ранее не был установлен в качестве столбца соответствия
См. также:
  • setMatchColumn(int)

unsetMatchColumn

void unsetMatchColumn(String[] columnName) throws SQLException
Удаляет указанные столбцы в качестве столбцов соответствия для этого объекта RowSet.
Параметры:
columnName - массив объектов String, указывающий имена столбцов, которые нужно удалить в качестве столбцов соответствия
Исключения:
SQLException - если указано неверное имя столбца или указанный столбец ранее не был установлен в качестве столбца соответствия
См. также:
  • setMatchColumn(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/Joinable.html

Spec-Zone.ru

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