- All Known Implementing Classes:
SerialRef
public interface Ref
REF
value, which is a reference to an SQL structured type value in the database.
SQL REF values are stored in a table that contains
instances of a referenceable SQL structured type, and each REF
value is a unique identifier for one instance in that table.
An SQL REF value may be used in place of the
SQL structured type it references, either as a column value in a
table or an attribute value in a structured type.
Because an SQL REF value is a logical pointer to an
SQL structured type, a Ref object is by default also a logical
pointer. Thus, retrieving an SQL REF value as
a Ref object does not materialize
the attributes of the structured type on the client.
A Ref object can be stored in the database using the
PreparedStatement.setRef method.
All methods on the Ref interface must be fully implemented if the
JDBC driver supports the data type.
- Since:
- 1.2
- See Also:
Struct
-
Method Summary
Modifier and Type Method Description StringgetBaseTypeName()Retrieves the fully-qualified SQL name of the SQL structured type that thisRefobject references.ObjectgetObject()Retrieves the SQL structured type instance referenced by thisRefobject.ObjectgetObject(Map<String,Class<?>> map)Retrieves the referenced object and maps it to a Java type using the given type map.voidsetObject(Object value)Sets the structured type value that thisRefobject references to the given instance ofObject.
-
Method Details
-
getBaseTypeName
Retrieves the fully-qualified SQL name of the SQL structured type that thisRefobject references.- Returns:
- the fully-qualified SQL name of the referenced SQL structured type
- Throws:
SQLException- if a database access error occursSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.2
-
getObject
Retrieves the referenced object and maps it to a Java type using the given type map.- Parameters:
map- ajava.util.Mapobject that contains the mapping to use (the fully-qualified name of the SQL structured type being referenced and the class object forSQLDataimplementation to which the SQL structured type will be mapped)- Returns:
- a Java
Objectthat is the custom mapping for the SQL structured type to which thisRefobject refers - Throws:
SQLException- if a database access error occursSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
- See Also:
setObject(java.lang.Object)
-
getObject
Retrieves the SQL structured type instance referenced by thisRefobject. If the connection's type map has an entry for the structured type, the instance will be custom mapped to the Java class indicated in the type map. Otherwise, the structured type instance will be mapped to aStructobject.- Returns:
- a Java
Objectthat is the mapping for the SQL structured type to which thisRefobject refers - Throws:
SQLException- if a database access error occursSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
- See Also:
setObject(java.lang.Object)
-
setObject
Sets the structured type value that thisRefobject references to the given instance ofObject. The driver converts this to an SQL structured type when it sends it to the database.- Parameters:
value- anObjectrepresenting the SQL structured type instance that thisRefobject will reference- Throws:
SQLException- if a database access error occursSQLFeatureNotSupportedException- if the JDBC driver does not support this method- Since:
- 1.4
- See Also:
getObject(),getObject(Map),PreparedStatement.setObject(int, Object),CallableStatement.setObject(String, Object)
-