| | Copyright |
| | Praise for Core JAVA Data objects |
| | Foreword |
| | Preface |
| | | Audience |
| | | What This Book Is About |
| | | What This Book Is Not About |
| | | Related Information |
| | | Conventions Used |
| | | About the Authors |
| | | About the Reviewers |
|
| | Acknowledgments |
| | | Sameer Tyagi |
| | | Keiron McCammon |
| | | Michael Vorburger |
| | | Heiko Bobzin |
|
| | Part 1. Introduction |
| | | Chapter 1. JDO Overview |
| | | Section 1.1. JDO Background |
| | | Section 1.2. Domain Object Model |
| | | Section 1.3. Orthogonal Persistence |
| | | Section 1.4. Non-Managed and Managed Environments |
| | | Section 1.5. Roles and Responsibilities |
| | | Section 1.6. Summary |
|
| | | Chapter 2. Object Persistence Fundamentals |
| | | Section 2.1. Persistence in Applications |
| | | Section 2.2. JDK Binary Serialization |
| | | Section 2.3. Object-Relational Mapping |
| | | Section 2.4. Rolling Your Own Persistence Mapping Layer |
| | | Section 2.5. Conclusion |
|
|
| | Part 2. The Details |
| | | Chapter 3. Getting Started with JDO |
| | | Section 3.1. How Does JDO Work? |
| | | Section 3.2. The JDO Basics |
| | | Section 3.3. Defining a Class |
| | | Section 3.4. Connecting to a Datastore |
| | | Section 3.5. Creating an Object |
| | | Section 3.6. Reading an Object |
| | | Section 3.7. Updating an Object |
| | | Section 3.8. Deleting an Object |
| | | Section 3.9. JDO Object Model |
| | | Section 3.10. Exception Handling |
| | | Section 3.11. Object Identity |
| | | Section 3.12. Types of Object Identity |
| | | Section 3.13. Object Lifecycles |
| | | Section 3.14. Concurrency Control |
| | | Section 3.15. Summary |
|
| | | Chapter 4. Object Lifecycle |
| | | Section 4.1. A Persistent Object's Lifecycle |
| | | Section 4.2. Finding Out about an Object's State |
| | | Section 4.3. Operations That Change State |
| | | Section 4.4. Callbacks |
| | | Section 4.5. Optional States |
| | | Section 4.6. Putting It All Together |
| | | Section 4.7. Summary |
|
| | | Chapter 5. Developing with JDO |
| | | Section 5.1. JDO Concepts |
| | | Section 5.2. JDO Interfaces and Classes |
| | | Section 5.3. Basic APIs |
| | | Section 5.4. Exception Classes |
| | | Section 5.5. Additional APIs |
| | | Section 5.6. Service Provider Interface APIs |
| | | Section 5.7. Summary |
|
| | | Chapter 6. Finding Your Data |
| | | Section 6.1. Finding an Object by Identity |
| | | Section 6.2. Finding a Set of Objects Using an Extent |
| | | Section 6.3. Finding Objects with the Query Facility |
| | | Section 6.4. JDOQL |
| | | Section 6.5. Queries, Filters, and Optional parameters |
| | | Section 6.6. More on the Query Interface |
| | | Section 6.7. Summary |
|
| | | Chapter 7. Architecture Scenarios |
| | | Section 7.1. JDO versus JDBC |
| | | Section 7.2. RDBMS, ODBMS, and Flatfiles |
| | | Section 7.3. J2EE, RMI, and CORBA |
| | | Section 7.4. Managed and Non-Managed Environments |
| | | Section 7.5. Multi-Threaded Applications |
| | | Section 7.6. Summary |
|
|
| | Part 3. J2EE |
| | | Chapter 8. JDO and the J2EE Connector Architecture |
| | | Section 8.1. J2EE Connector Architecture Overview |
| | | Section 8.2. JDO and the J2EE Connector Architecture |
| | | Section 8.3. Using JDO and the J2EE Connector Architecture |
| | | Section 8.5. Using JDO without the J2EE Connector Architecture |
| | | Section 8.6. Summary |
|
| | | Chapter 9. JDO and Enterprise JavaBeans |
| | | Section 9.1. Introduction |
| | | Section 9.2. Session Beans and JDO |
| | | Section 9.3. Message-Driven Beans and JDO |
| | | Section 9.4. Entity Beans and JDO |
| | | Section 9.5. To Use EJB or Not to Use EJB? |
| | | Section 9.6. Summary |
|
| | | Chapter 10. Security |
| | | Section 10.1. Security Levels |
| | | Section 10.2. Implementing PersistenceCapable |
| | | Section 10.4. Summary |
|
| | | Chapter 11. Transactions |
| | | Section 11.1. Transaction Concepts |
| | | Section 11.2. Transactions in Java |
| | | Section 11.3. Transactions in JDO |
| | | Section 11.4. Summary |
|
|
| | Part 4. The Conclusion |
| | | Chapter 12. JDO and JDBC |
| | | Section 12.1. JDBC 2.0 and 3.0 |
| | | Section 12.2. Example: Storing Objects in a Relational Database Using JDBC |
| | | Section 12.3. Comparison of JDBC and JDO |
| | | Section 12.4. Summary |
|
| | | Chapter 13. Tips, Tricks and Best Practices |
| | | Section 13.1. Data Modeling |
| | | Section 13.2. JDO and Servlets |
| | | Section 13.3. Keep Domain Classes Separate from Others |
| | | Section 13.4. Using XML as a Data Exchange Format |
| | | Section 13.5. Validation |
| | | Section 13.6. Summary |
|
| | | Chapter 14. The Road Ahead |
| | | Section 14.1. Advanced Transaction Semantics |
| | | Section 14.2. Performance Optimizations |
| | | Section 14.3. Managed Relationships |
| | | Section 14.4. Query Enhancements |
| | | Section 14.5. Object Mapping |
| | | Section 14.6. Enumeration Pattern |
| | | Section 14.7. Summary |
|
| | | Chapter 15. Case Study: The Core JDO Library |
| | | Section 15.1. Files, Packages and Object Model |
| | | Section 15.2. Persistent Model Package |
| | | Section 15.3. Use-case Package |
| | | Section 15.4. BookOperation Class |
| | | Section 15.5. Putting Things Together |
|
| | | Appendix A. JDO States |
| | | Section A.1. How the Tables Should Be Read |
|
| | | Appendix B. XML Metadata |
| | | Section B.1. Metadata Location |
| | | Section B.2. Metadata Elements |
| | | Section B.3. XML DTD |
| | | Section B.4. Example |
|
| | | Appendix C. JDOQL BNF Notation |
| | | Section C.1. Grammar Notation |
|
| | | Appendix D. PersistenceManager Factory Quick Reference |
| | | Section D.1. Optional Features |
| | | Section D.2. JDOHelper Properties |
|
| | | Appendix E. JDO Implementations |
| | | JDO Implementations |
| | | Non-JDO-Compliant Java Persistence Solutions |
|
|