Book Image

EJB 3.0 Database Persistence with Oracle Fusion Middleware 11g

Book Image

EJB 3.0 Database Persistence with Oracle Fusion Middleware 11g

Overview of this book

EJB (Enterprise JavaBeans) 3.0 is a commonly used database persistence technology in Java EE applications. EJB 3.0 has simplified the development of EJBs with an annotations-based API that eliminates the use of remote/local interfaces, home/local home interfaces, and deployment descriptors. A number of other books are available on EJB 3.0, but none covers EJB 3.0 support in Oracle Fusion Middleware 11g, which is one of the leaders in the application server market.This is the first book that covers all aspects of EJB 3.0 database persistence development using Oracle Fusion Middleware technology. It covers all the best practices for database persistence ensuring that your applications are easily maintainable. Leaving theory behind, this book uses real-world examples to guide you in building your own EJB 3.0 applications that are well integrated with commonly used Java EE frameworks.The book gets going by discussing the new features in the EJB 3.0 specification. As some readers may still be using EJB 2.0, the book explains how to convert your EJB 2.0 entity beans to EJB 3.0. It then goes on to discuss using EJB 3.0 database persistence with JDeveloper, WebLogic Server, and Enterprise Pack for Eclipse, the main Java EE components of Oracle Fusion Middleware 11g. The book also covers EJB 3.0 relationships and integrating EJB 3.0 relationships with JSF user interfaces. EJB 3.0 database persistence with some of the commonly used frameworks such as ADF Faces, AJAX, and Web Services is also discussed in the book. It uses the integrated WebLogic Server 11g in some of the chapters and the standalone WebLogic Server in other chapters. While JDeveloper is the primary Java IDE used in the book, one of the chapters is based on the Oracle Enterprise Pack for Eclipse.By the time you reach the end of this book, you will be well-versed with developing EJB 3.0 applications using the different Java EE components of Oracle Fusion Middleware 11g.
Table of Contents (15 chapters)
EJB 3.0 Database Persistence with Oracle Fusion Middleware 11g
Credits
About the Author
About the Reviewers
Preface

Modifying the fetch strategy


We have used the default fetch strategy in the preceding example. The default fetch strategy for OneToMany and ManyToMany relationships is LAZY. With LAZY fetching, the containing entities are not fetched when the contained entity is retrieved. Therefore, we were not able to retrieve all the editions for a catalog, all the sections in an edition, and all the articles in a section. We just listed all the catalogs, editions, sections, and articles. With EAGER fetching, the entities contained by an entity are immediately fetched. Next, we shall modify the fetch strategy to EAGER in the @ManyToMany and @OneToMany relationship mappings. The fetch strategy is set with the fetch element. In the Catalog entity replace:

@ManyToMany(cascade=CascadeType.ALL)

with:

@ManyToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)

In the Edition entity replace:

@ManyToMany(cascade =
{ CascadeType.MERGE, CascadeType.PERSIST,
CascadeType.REFRESH },
mappedBy = "editions")

with:

@ManyToMany...