Skip to Main Content
Enterprise JavaBeans 3.1, 6th Edition
book

Enterprise JavaBeans 3.1, 6th Edition

by Andrew Lee Rubinger, Bill Burke
September 2010
Intermediate to advanced content levelIntermediate to advanced
766 pages
18h 35m
English
O'Reilly Media, Inc.
Content preview from Enterprise JavaBeans 3.1, 6th Edition

Example: A Persistent Employee Registry

From our simple Employee entity defined earlier, we can use the EntityManager facilities to perform CRUD (Create, Read, Update, Delete) operations and build a simple persistent registry of employees. The full example is available in greater detail in Appendix F.

A Transactional Abstraction

Before we can take advantage of the EntityManager to flush and synchronize our changes with the database, we must set up a transactional context within which our code can run. Because we’re not going to delve into the full features of transactions until later, let’s define a simple abstraction that marks the beginning and end of the transactional context.

public interface TxWrappingLocalBusiness
{
    **
    * Wraps the specified tasks in a new Transaction
    *
    * @param task
    * @throws IllegalArgumentException If no tasks are specified
    * @throws TaskExecutionException If an error occurred in invoking
    * {@link Callable#call()}
    */
   void wrapInTx(Callable<?>... tasks) throws IllegalArgumentException,
      TaskExecutionException;
}

From here we can construct simple java.util.concurrent.Callable implementations that encapsulate our JPA operations, and these will all run within a transaction that starts and ends with the invocation to wrapInTx. Let’s assume we have an instance called txWrapper that implements TxWrappingLocalBusiness for us.

Persisting Entities

Persisting an entity is the act of inserting it within a database. We persist entities that have not yet been created in the ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Reinventing the Organization for GenAI and LLMs

Reinventing the Organization for GenAI and LLMs

Ethan Mollick
JavaServer Faces

JavaServer Faces

Hans Bergsten
EJB 3 Developer Guide

EJB 3 Developer Guide

Michael Sikora

Publisher Resources

ISBN: 9781449399139Errata Page