Interface RowId
public interface RowId
The representation (mapping) in the Java programming language of an SQL ROWID value. An SQL ROWID is a built-in type, a value of which can be thought of as an address for its identified row in a database table. Whether that address is logical or, in any respects, physical is determined by its originating data source.
Methods in the interfaces ResultSet
, CallableStatement
, and PreparedStatement
, such as getRowId
and setRowId
allow a programmer to access a SQL ROWID
value. The RowId
interface provides a method for representing the value of the ROWID
as a byte array or as a String
.
The method getRowIdLifetime
in the interface DatabaseMetaData
, can be used to determine if a RowId
object remains valid for the duration of the transaction in which the RowId
was created, the duration of the session in which the RowId
was created, or, effectively, for as long as its identified row is not deleted. In addition to specifying the duration of its valid lifetime outside its originating data source, getRowIdLifetime
specifies the duration of a ROWID
value's valid lifetime within its originating data source. In this, it differs from a large object, because there is no limit on the valid lifetime of a large object within its originating data source.
All methods on the RowId
interface must be fully implemented if the JDBC driver supports the data type.
- Since:
- 1.6
- See Also:
DatabaseMetaData
Methods
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) Compares this |
byte[] |
getBytes() Returns an array of bytes representing the value of the SQL |
int |
hashCode() Returns a hash code value of this |
String |
toString() Returns a String representing the value of the SQL ROWID designated by this |
Methods
equals
boolean equals(Object obj)
Compares this RowId
to the specified object. The result is true
if and only if the argument is not null and is a RowId object that represents the same ROWID as this object.
It is important to consider both the origin and the valid lifetime of a RowId
when comparing it to another RowId
. If both are valid, and both are from the same table on the same data source, then if they are equal they identify the same row; if one or more is no longer guaranteed to be valid, or if they originate from different data sources, or different tables on the same data source, they may be equal but still not identify the same row.
- Overrides:
-
equals
in classObject
- Parameters:
-
obj
- theObject
to compare thisRowId
object against. - Returns:
- true if the
RowId
s are equal; false otherwise - Since:
- 1.6
- See Also:
-
Object.hashCode()
,HashMap
getBytes
byte[] getBytes()
Returns an array of bytes representing the value of the SQL ROWID
designated by this java.sql.RowId
object.
- Returns:
- an array of bytes, whose length is determined by the driver supplying the connection, representing the value of the ROWID designated by this java.sql.RowId object.
toString
String toString()
Returns a String representing the value of the SQL ROWID designated by this java.sql.RowId
object.
Like java.sql.Date.toString()
returns the contents of its DATE as the String
"2004-03-17" rather than as DATE literal in SQL (which would have been the String
DATE "2004-03-17"), toString() returns the contents of its ROWID in a form specific to the driver supplying the connection, and possibly not as a ROWID
literal.
- Overrides:
-
toString
in classObject
- Returns:
- a String whose format is determined by the driver supplying the connection, representing the value of the
ROWID
designated by thisjava.sql.RowId
object.
hashCode
int hashCode()
Returns a hash code value of this RowId
object.
- Overrides:
-
hashCode
in classObject
- Returns:
- a hash code for the
RowId
- See Also:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
© 1993, 2020, 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/javase/8/docs/api/java/sql/RowId.html