- Home
- Products
- Integration
- Tutorial
- Barcode FAQ
- Purchase
- Company
birt barcode tool Saving a bid record using the EJB 3 JPA in Java
Listing 2.8 Saving a bid record using the EJB 3 JPA Drawing DataMatrix In Java Using Barcode maker for Java Control to generate, create Data Matrix 2d barcode image in Java applications. www.OnBarcode.comReading Data Matrix ECC200 In Java Using Barcode recognizer for Java Control to read, scan read, scan image in Java applications. www.OnBarcode.compackage ejb3inaction.example.buslogic; ... import javax.persistence.PersistenceContext; import javax.persistence.EntityManager; ... @Stateless DataBar Drawer In Java Using Barcode creator for Java Control to generate, create GS1 DataBar image in Java applications. www.OnBarcode.comPrinting PDF 417 In Java Using Barcode creator for Java Control to generate, create PDF417 image in Java applications. www.OnBarcode.comA first taste of EJB
QR Maker In Java Using Barcode encoder for Java Control to generate, create QR Code 2d barcode image in Java applications. www.OnBarcode.comGenerate Barcode In Java Using Barcode creator for Java Control to generate, create Barcode image in Java applications. www.OnBarcode.compublic class PlaceBidBean implements PlaceBid { @PersistenceContext(unitName="actionBazaar") Injects instance of private EntityManager entityManager; EntityManager ... public Bid addBid(Bid bid) { System.out.println("Adding bid, bidder ID=" + bid.getBidderID() + ", item ID=" + bid.getItemID() + ", bid amount=" + bid.getBidAmount() + "."); Making Code-128 In Java Using Barcode creation for Java Control to generate, create Code-128 image in Java applications. www.OnBarcode.comUSPS PLANET Barcode Generator In Java Using Barcode encoder for Java Control to generate, create USPS Confirm Service Barcode image in Java applications. www.OnBarcode.comreturn save(bid); } private Bid save(Bid bid) { entityManager.persist(bid); return bid; } } Decode Data Matrix 2d Barcode In Visual Basic .NET Using Barcode recognizer for Visual Studio .NET Control to read, scan read, scan image in Visual Studio .NET applications. www.OnBarcode.comData Matrix ECC200 Encoder In None Using Barcode generation for Software Control to generate, create ECC200 image in Software applications. www.OnBarcode.comPersists entity instance
UPC-A Supplement 5 Generator In None Using Barcode generation for Software Control to generate, create UPC Code image in Software applications. www.OnBarcode.comCreate EAN 128 In Visual Studio .NET Using Barcode creation for Visual Studio .NET Control to generate, create EAN / UCC - 14 image in .NET framework applications. www.OnBarcode.comThe true magic of the code in listing 2.8 lies in the EntityManager interface. One interesting way to think about the EntityManager interface is as an interpreter between the object-oriented and relational worlds. The manager reads the ORM mapping annotations like @Table and @Column on the Bid entity and figures out how to save the entity into the database. The EntityManager is injected into the PlaceBid bean through the @PersistenceContext annotation b. Similar to the name parameter of the @Resource annotation in listing 2.5, the unitName parameter of the @PersistenceContext annotation points to the persistence unit specific to ActionBazaar. A persistence unit is a group of entities packaged together in an application module. You ll learn more about persistence units in chapters 9 and 11. In the save method, the EntityManager persist method is called to save the Bid data into the database C. After the persist method returns, a SQL statement much like the following is issued against the database to insert a record corresponding to the bid: Barcode Creation In None Using Barcode encoder for Software Control to generate, create Barcode image in Software applications. www.OnBarcode.comPrinting PDF417 In None Using Barcode creation for Online Control to generate, create PDF-417 2d barcode image in Online applications. www.OnBarcode.comINSERT INTO BIDS (BID_ID, BID_DATE, BIDDER_ID, BID_AMOUNT, ITEM_ID) VALUES (52, NULL, 60, 20000.50, 100) Linear 1D Barcode Drawer In VB.NET Using Barcode generator for .NET framework Control to generate, create 1D Barcode image in Visual Studio .NET applications. www.OnBarcode.comScan GS1 - 13 In Java Using Barcode reader for Java Control to read, scan read, scan image in Java applications. www.OnBarcode.comIt might be instructive to look back at listing 2.7 now to see how the EntityManager figures out the SQL to generate by looking at the object-relational mapping annotations on the Bid entity. Recall that the @Table annotation specifies that the bid record should be saved in the BIDS table while each of the @Column annotations in listing 2.7 tells JPA which Bid entity field maps to which column in the BIDS table. For example, the bidId property maps to the BIDS.BID_ID column, the bidAmount property maps to the BIDS.BID_AMOUNT column, and so on. As we Code-128 Maker In Visual Studio .NET Using Barcode maker for Visual Studio .NET Control to generate, create USS Code 128 image in VS .NET applications. www.OnBarcode.comCreating Barcode In None Using Barcode encoder for Font Control to generate, create Barcode image in Font applications. www.OnBarcode.comSummary Print Linear Barcode In .NET Using Barcode maker for ASP.NET Control to generate, create Linear image in ASP.NET applications. www.OnBarcode.comCode-39 Creation In None Using Barcode generator for Word Control to generate, create Code 39 image in Office Word applications. www.OnBarcode.comdiscussed earlier, the @Id and @GeneratedValue value annotations specify that the BID_ID column is the primary key of the BIDS table and that the JPA provider should automatically generate a value for the column before the INSERT statement is issued (the 52 value in the SQL sample). This process of translating an entity to columns in the database is exactly what object-relational mapping and JPA is all about. This brings us to the end of this brief introduction to the EJB 3 Java Persistence API and to the end of this whirlwind chapter. At this point, it should be clear to you how simple, effective, and robust EJB 3 is, even from a bird s-eye view. 2.6 Summary As we stated in the introduction, the goal of this chapter was not to feed you the guru pill for EJB 3, but rather to show you what to expect from this new version of the Java enterprise platform. This chapter introduced the ActionBazaar application, a central theme to this book. Using a scenario from the ActionBazaar application, we showed you a cross section of EJB 3 functionality, including stateless session beans, stateful session beans, message-driven beans, and the EJB 3 Java Persistence API. You also learned some basic concepts such as deployment descriptors, metadata annotations, and dependency injection. We used a stateless session bean (PlaceBidBean) to implement the business logic for placing a bid for an item in an auctioning system. To access the bean, we built a very simple servlet client that used dependency injection. We then saw a stateful session bean (PlaceOrderBean) that encapsulated the logic for ordering an item, and we built an application client that accesses the PlaceOrderBean. We saw an example of an MDB, OrderBillingMDB, that processes a billing request when a message arrives on a JMS queue. Finally, we built an entity for storing bids and used the EntityManager API to persist the entity to the database. Most of the rest of this book roughly follows the outline of this chapter. 3 revisits session beans; chapter 4 discusses messaging, JMS and MDBs; chapter 5 expands on dependency injection and discusses such topics as interceptors and timers; and chapter 6 explores transactions and security management in EJB. s 7 through 10 are devoted to a detailed exploration of the Persistence API. Finally, chapters 11 through 16 cover advanced topics in EJB. In the next chapter, we ll shift to a lower gear and dive into the details of session beans.
|
|