| Oracle8i JDBC Developer's Guide and Reference Release 2 (8.1.6) A81354-01 |
|
To access and update object data through an object reference, you must obtain the reference instance through a result set or callable statement and then pass it back as a bind variable in a prepared statement or callable statement. It is the reference instance that contains the functionality to access and update object attributes.
This section summarizes the following:
REF instances from and to the database
REF class functionality to get and set object attributes
Remember that you can use custom reference classes instead of the ARRAY class. See "Custom Reference Classes with JPublisher".
Use the following result set, callable statement, and prepared statement methods to retrieve and pass object references. Code examples are provided later in the chapter.
The OracleResultSet and OracleCallableStatement classes support getREF() and getRef() methods to retrieve REF objects as output parameters--either as oracle.sql.REF instances or java.sql.Ref instances (oracle.jdbc2.Ref under JDK 1.1.x). You can also use the getObject() method. These methods take as input a String column name or int column index.
The OraclePreparedStatement and OracleCallableStatement classes support setREF() and setRef() methods to take REF objects as bind variables and pass them to the database. You can also use the setObject() method. These methods take as input a String parameter name or int parameter index as well as, respectively, an oracle.sql.REF instance or a java.sql.Ref instance (oracle.jdbc2.Ref under JDK 1.1.x).
Use the following oracle.sql.REF class methods to retrieve the SQL object type name and retrieve and pass the underlying object data.
getBaseTypeName(): Retrieves the fully-qualified SQL structured type name of the referenced object (for example, EMPLOYEE).
This is a standard method specified by the java.sql.Ref interface.
getValue(): Retrieves the referenced object from the database, allowing you to access its attribute values. It optionally takes a type map object, or else you can use the default type map of the database connection object.
This method is an Oracle extension.
setValue(): Sets the referenced object in the database, allowing you to update its attribute values. It takes an instance of the object type as input (either a STRUCT instance or an instance of a custom object class).
This method is an Oracle extension.