O'Reilly logo

Building Java Enterprise Applications by Brett McLaughlin

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

Chapter 5. Advanced Entities

In this chapter, we’ll dig into some more interesting entity bean topics. I’ll start by looking at how entity beans can and should abstract database IDs and sequences from business-oriented clients. You’ll see how session beans can be used for these sorts of tasks, learn about database access through JDBC in beans, and put all these pieces into a coherent whole. From there I’ll move on to discussing entity bean value objects, serialization of these objects, and decreasing RMI traffic.

I’ll also discuss when to use container-managed persistence (CMP) and when to use bean-managed persistence (BMP). This leads you from accessing the database to accessing the directory server set up for usernames and authentication data. I’ll also cover the variety of ways you can access a directory server. At this point, the Java Naming and Directory Interface (JNDI) will enter the picture, too. By the end of this chapter, you’ll have several new entity beans, a session bean, a more advanced Office bean, and a thorough understanding of entity bean architecture.

IDs, Sequences, and CMP

The most common problem in working with entity beans is dealing with primary keys. The underlying principle is that EJB components should represent business objects and business entities. In other words, if something isn’t used in the business of an application, it shouldn’t be visible to the bean developer. What that means in terms of the entity beans so far is that you need to hide the details ...

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