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 String
s 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 ...
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.