O'Reilly logo

Ivor Horton's Beginning Java™ 2, JDK™ 5th Edition by Ivor Horton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required