Refs
A java.sql.Ref
is an
object that holds a reference to a database object. Depending on how
you implement your Oracle objects, a Ref
may hold
a global unique identifier (GUID) or a primary key column, and may
also contain a ROWID. But what it contains is moot. It’s how
you use a Ref
that’s important. A
Ref
object is simply an address to a database
object. With it, you can retrieve, or materialize, an object value.
And with Oracle’s implementation,
oracle.sql.REF
, you can also update a value. But
you can’t create a new database reference in your Java program.
That simply doesn’t make any sense. Since a reference points to
a location of an object in the database, the database has to create a
reference when an object is inserted, and then you must retrieve the
newly created object’s reference into a Ref
object, similar to how we handled a Blob
or
Clob
in Chapter 12.
References can also be stored as attributes in other database objects
to establish relationships between objects. In this chapter,
we’ll cover how to retrieve a reference into a
Ref
object, how to use it to materialize an object
value, and finally, how to use it to update a database object. So
let’s start with retrieving a reference.
Retrieving a Reference
To retrieve a reference from a database, use the ref( )
database function. Do you remember
how you used the value( )
function? Well, you use
the ref( )
database function the same way. You use it in a SELECT statement, passing it an alias for a table name. For example, ...
Get Java Programming with Oracle JDBC now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.