Arrays
A java.sql.Array
is
used as an object attribute of a Struct to store a
Java array in or retrieve one from a SQL ARRAY attribute. This means
you’ll use an Array object to manipulate
Oracle collections: varying arrays (VARRAYs) or nested tables.
An Array can represent an array of a single
predefined data type such as String. For example,
if you have an array of String objects, you can
store them as an Oracle collection. Using the default mapping, Oracle
will convert the array of Strings into a
collection of VARCHAR2s. An Array can also store
an array of objects -- for example, a
PersonIdentifier object that has two attributes,
an id, and an id_type.
If you wish to store an array of Java objects such as
PersonIdentifier as a collection of database
objects, you first have to convert the Java objects themselves into
Struct objects and then create a new
Array by passing the array of
Struct objects to the constructor of the
Array. This is because a database object, whether
it’s a table row, column, or part of a collection, is
represented by a Struct object.
Just like its weakly typed counterpart Struct,
java.sql.Array is an interface that defines how to
materialize a SQL ARRAY from a database, but it is up to the database
vendor to provide the functionality to be able to create new
Array objects in a Java program. And, in a similar
fashion, you use oracle.sql.ArrayDescriptor to
create an Array, just as you used a
StructDescriptor to create a
Struct. Let’s look at how you create a ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access