Java Data Objects
Home > Computing and Information Technology > Computer programming / software engineering > Web programming > Java Data Objects
Java Data Objects

Java Data Objects

|
     0     
5
4
3
2
1




International Edition


About the Book

"Java Data Objects" aims to revolutionize the way Java developers interact with databases and other datastores. It allows you to store and retrieve objects in a way that's natural toJava programmers. Instead of working with JDBC or EJB's container-managed persistence, you work directly with your Java objects. You don't have to copy data to and from database tables or issue SELECTs to perform queries: your JDO implementation takes care of persistence behind-the-scenes, and you make queries based on the fields of your Java objects, using normal Java syntax. The result is software that is truly object-oriented: not code that is partially object-oriented, with a large database-shaped lump on the back end. JDO lets you save plain, ordinary Java objects, and does not force you to use different data models and types for dealing with storage. As a result, your code becomes easier to maintain, easier to re-use, and easier to test. And you're not tied to a specific database vendor: your JDO code is entirely database-independent. You don't even need to know whether the datastore is a relational database, an object database, or just a set of files. The book offers a thorough introduction to JDO, starting with a simple application that demonstrates many of JDO's capabilities. It shows you how to make classes persistent, how JDO maps persistent classes to the database, how to configure JDO at runtime, how to perform transactions, and how to make queries. More advanced chapters cover optional features such as nontransactional access and optimistic transactions. The book concludes by discussing the use of JDO in web applications and J2EE environments.

Table of Contents:
Foreword Preface 1. An Initial Tour Defining a Persistent Object Model The Classes to Persist Declaring Classes to Be Persistent Project Build Environment Jars Needed to Use the JDO Reference Implementation Project Directory Structure Enhancing Classes for Persistence Establish a Datastore Connection and Transaction Acquiring a PersistenceManager Creating a FOStore Datastore Operations on Instances Making Instances Persistent Accessing Instances Modifying an Instance Deleting Instances Summary 2. An Overview of JDO Interfaces The javax.jdo Package JDO Exception Classes The javax.jdo.spi Package Optional Features Identity Options Optional Collections Transaction-Related Optional Features 3. JDO Architectures Architecture Within Application JVM Single PersistenceManager Multiple PersistenceManagers Accessing the Same Datastore Multiple PersistenceManagers Accessing Different Datastores Shared Implementation Cache Datastore Access Direct Access of Filesystem or Local Datastore Remote Access of a JDO Server Remote Access of a SQL Datastore System Architectures with a JDO Application JDO Rich Client with Local Datastore JDO Applications in a Web Server JDO Applications as Web Services Rich Client Connecting to Application Server with EJB Components Web Server with EJB Server EJB Session Beans Using Session Bean Facades JDO Providing Container-Managed Persistence 4. Defining Persistent Classes Kinds of Classes and Instances Kinds of Classes Kinds of Instances Java Classes and Metadata JDO Metadata Inheritance The Media Mania Object Model Fields Supported Types Persistence of Fields Complete Metadata for the Media Mania Model 5. Datastore Mappings Mapping Approaches Relational Modeling Constructs SQL 99 Modeling Constructs in Java and Relational Models Mapping Classes to Tables Mapping a Single-Valued Field to a Column Name-Mapping Type-Mapping Indexes Identity Inheritance References Collections and Relationships Using a Foreign Key Using a Join Table One-to-One Relationships Representing Lists and Maps 6. Class Enhancement Enhancement Approaches Reference Enhancer Vendor-Specific Enhancement Binary Compatibility Enhancement Effects on Your Code Changes Made by the Enhancer Metadata Instance-Level Data Field Mediation 7. Establishing a JDO Runtime Environment Configuring a PersistenceManagerFactory Connection Properties Optional Feature Properties Flags Flags Settings in Multiple Interfaces Determining the Optional Features and Default Flag Settings Vendor-Specific Properties Nonconfigurable Properties Acquiring a PersistenceManager User Object Closing a PersistenceManager Closing a PersistenceManagerFactory Transactions Properties of Transactions Transactions and Locking in the Datastore Types of Transactions in JDO Acquiring a Transaction Setting the Transaction Type Transaction Demarcation Restoring Values on Rollback Determining Whether a Transaction Is Active Multiple PersistenceManagers Multithreading 8. Instance Management Persistence of Instances Explicit Persistence Persistence-by-Reachability Extent Access Accessing an Extent Extent Iteration Ignoring the Cache Accessing and Updating Instances Explicit Marking of Modified Instances Deleting Instances Delete Propagation 9. The JDO Query Language Query Components Creating and Initializing a Query Changes in the Cache Query Namespaces Type Names Field, Parameter, and Variable Names Keywords Literals Query Execution Parameter Declarations Executing a Query Compiling a Query The Query Filter General Characteristics of Expressions Query Operators References Collections Ordering Query Results Closing a Query 10. Identity Overview JDO Identity Types Metadata Identity Class Datastore Identity Application Identity Primary-Key Fields Persistent Class equals() and hashCode( ) Methods The Application-Identity Class A Single-Field Primary Key A Compound Primary Key A Compound Primary Key That Contains a Foreign Key Application Identity in an Inheritance Hierarchy Nondurable Identity Identity Methods Get the Identity Class Get the Identity of an Instance Getting an Instance via Its Identity Changing the Application Identity of an Instanc Get the Current Application Identity of an Instance The String Representation of Identity Advanced Topics Choosing an Identity Type Using Identity Versus a Query Identity Across PersistenceManagers 11. Lifecycle States and Transitions Lifecycle States Transient Persistent-New Hollow Persistent-Clean Persistent-Dirty Persistent-Deleted Persistent-New-Deleted State Interrogation State Transitions State Transitions During a Datastore Transaction State Transitions When a Transaction Completes States Between Transactions 12. Field Management Transactional Fields null Values Retrieval of Fields Default Fetch Group Retrieving All Fields The Management of Fields Serialization Managing Fields During Lifecycle Events First- and Second-Class Objects Specifying a Second-Class Object Embedding Collection Elements Persistent Classes as Second-Class Objects Sharing of Instances 13. Cache Management Explicit Management of Instances in the Cache Refreshing Instances Evicting Instances Cloning Transient-Transactional Instances Transient-Transactional Lifecycle States State Interrogation State Transitions Making a Persistent Instance Transient 14. Nontransactional Access Nontransactional Features Reading Outside a Transaction Persistent-Nontransactional State Retaining Values at Transaction Commit Restoring Values at Transaction Rollback Before Image Restoring Persistent Instances Restoring Persistent-New Instances Modifying Persistent Instances Outside a Transaction Hot Cache Example 15. Optimistic Transactions Verification at Commit Recovery from a Failed Transaction Setting Optimistic Transaction Behavior Optimistic Example Optimistic Transaction State Transitions Deleting Instances Making Instances Transactional Modifying Instances Commit Rollback 16. The Web-Server Environment Web Servers Accessing the PersistenceManagerFactory Servicing Requests PersistenceManager per Request PersistenceManager per Application PersistenceManager per Transactional Request PersistenceManager per Session Transactions JavaServer Pages Struts with JDO 17. J2EE Application Servers Enterprise JavaBeans Architecture Stateless Session Beans Configuring the PersistenceManagerFactory Stateless Session Beans with Container-Managed Transactions Stateful Session Beans with Container-Managed Transactions Bean-Managed Transactions javax.transaction.UserTransaction javax.jdo.Transaction Stateless Session Beans with Bean-Managed Transactions Stateful Session Beans with Bean-Managed Transactions Message-Driven Beans Persistent Entities and JDO Local Persistent Storage Remote Persistent Storage A. Lifecycle States and Transitions B. JDO Metadata DTD C. JDO Interfaces and Exception Classes D. JDO Query Language BNF E. Source Code for Examples Index


Best Sellers


Product Details
  • ISBN-13: 9780596002763
  • Publisher: O'Reilly Media
  • Publisher Imprint: O'Reilly Media
  • Height: 230 mm
  • No of Pages: 360
  • Returnable: Y
  • Spine Width: 24 mm
  • ISBN-10: 0596002769
  • Publisher Date: 27 May 2003
  • Binding: Paperback
  • Language: English
  • Returnable: Y
  • Returnable: Y
  • Width: 181 mm


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Java Data Objects
O'Reilly Media -
Java Data Objects
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Java Data Objects

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!