Collections and Relationships
In a relational data model, relations are usually normalized . A relation is in first normal form if the cells of a table contain only a single atomic value, which is nondecomposable as far as the database is concerned. Initially, relational databases supported only simple types, such as integers, strings, and dates. Over time, they have added support for column types that can represent a set of data. But most relational database schema designs represent a collection of values with a set of rows.
You can represent a collection using a foreign key or a join table. We will examine each of these techniques in
the following subsections. We’ll consider the Movie
and Role
classes in the com.mediamania.content
package and examine
alternate ways of representing the relationship between these two
classes in Java and a relational schema. For this discussion, we will
ignore the inheritance relationship between Movie
and MediaContent
. We’ll focus on the one-to-many
relationship that exists between Movie
and Role
.
This mapping discussion is important when you are mapping between an existing relational schema and Java classes. If you’re letting the JDO implementation generate a relational schema for you, or letting it generate your Java classes automatically from a relational schema, you do not need to be as concerned with the following discussion. However, as your object model and relational schema evolve, understanding the following material will become more important. ...
Get Java Data Objects 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.