25.2. Mapping Relational Data onto Java Objects
In the previous chapter, you saw how you could get the basic attribute data from a JDBC ResultSet object. Since Java is object-oriented, in many cases you won't want to deal with individual data items such as the authors' names and IDs—you'll want to work with Author objects that represent the authors. That's what I'll focus on now, and in the process, you'll get some more experience with the Statement and ResultSet interfaces.
The way that information is handled at the object level is usually different from the way that data is stored in a relational database. In the world of objects, the underlying principle is to make those objects exhibit the same characteristics (information and behavior) as their real-world counterparts—in other words, objects function at the level of the conceptual model. Relational databases, on the other hand, work at the data model level. As you saw in the previous chapter, relational databases store information using normalized forms, where conceptual objects like invoices and customers can be decomposed into a number of tables. So how do you deal with the problem of mapping objects to relational data models?
Sometimes there is a straightforward relationship between the columns in a table and the member variables in an object. In that case, the mapping task consists simply of matching the data types of the database with those of Java. Figure 25-1 shows this simple application-level SQL-to-object mapping. ...