Hibernateibernate 33.0.0

Total Page:16

File Type:pdf, Size:1020Kb

Hibernateibernate 33.0.0 )N3UPPORT1UALITY /RACLE "%! )"- HHibernateibernate 33.0.0 QUALITY THE NUMBER ONE SUPPORT FROM MARKET LEADER. Working with both object-oriented software and relational databases can THE SOURCE. be cumbersome and time consuming in today’s enterprise environments. Moreover, development costs are signifi cantly higher due to a paradigm mismatch between how data is represented in objects versus relational databases. Many software developers and architects estimate that up to 30% of their code is needed to deal with this infrastructure concern. Hibernate is an object/relational mapping (ORM) solution for Java applications that directly addresses this challenge by providing the ability to map an object model’s data representation to a relational data model and its corresponding database schema. Hibernate is the most fl exible and powerful ORM solution on the market today. Hibernate not only takes care of the mapping from Java classes to database tables and from Java data types to SQL data types, but also provides data query and retrieval facilities that signifi cantly reduce development time. Hibernate’s design goal is to relieve the developer from 95% of common data persistence related programming tasks by eliminating the need for manual, hand-crafted data processing using SQL and JDBC. Highlights and Key Values Features Open-Source, Zero-Cost Product License Hibernate to handle persistence, a modular New for Hibernate 3 two-layer caching system can be confi gured Hibernate is licensed under the open source that uses JBoss Cache and enables the Hibernate 3’s “Hibernate for the Enterprise” focus GNU Lesser General Public License (LGPL) and application to benefi t from across the board has built on the success of Hibernate 2 and is free to download and free to use for both caching, rather than isolated, hand-written extended it with enterprise-class functionality development and production deployments. performance enhancements. including: The license also allows ISVs to embed and distribute Hibernate free of charge. Standards-Driven • Support for EJB 3.0 Annotations, Entity Manager, and Java Persistence API Increase Developer Productivity Hibernate is typically used in Java Swing • ORM improvements that support virtualized applications, Java Servlet-based applications, fi ltering for temporal, historical, regional, and Hibernate eliminates the repetitive and tedious or J2EE applications using Enterprise Java permissioned data coding work and enables developers to focus Bean (EJB) session beans. Hibernate 3.0 plays • Single object to multi-table mapping, bulk update more on the business problem. No matter a critical role in the EJB 3.0 Java Persistence and delete by query, and the ability to override which application development strategy you API which brings a dramatically simplifi ed generated SQL with hand-written SQL prefer – starting top-down with a new business persistence model to the EJB standard. • JMX-enabled statistics reporting and monitoring problem and model or bottom up with an Moreover, by combining Hibernate 3 with through any JMX console existing database schema – Hibernate can Hibernate Annotations, developers can achieve • XML binding that enables data to be represented signifi cantly reduce development time. an EJB 3.0 style of programming outside of the as XML and Java objects interchangeably EJB 3.0 container and within standalone Java • Event driven design that enables custom event Reduce Maintenance Cost applications. objects to be created and registered to handle auditing scenarios or cascaded behavior Hibernate substantially reduces lines of code Enterprise-Class Reliability and Scalability semantics by automating ORM. Hibernate provides a • Hibernate Tools are JBoss Eclipse IDE plug-ins that buffer between the two data representations Hibernate is well known for its excellent stability provide a reverse engineering wizard that creates and enables a more elegant use of object and quality – proven by the acceptance and persistent POJOs from a database schema, orientation on the Java side – all while use by tens of thousands of Java developers. Hibernate XML Mapping editor, Hibernate Console keeping the relational schema normalized and Hibernate was designed from the ground up for executing HQL queries and browsing result guaranteeing data integrity. to work in an application server cluster and sets, and other Hibernate development wizards deliver a highly scalable architecture. Hibernate Optimize Performance All of the Time scales well in any environment; no matter if you use it to drive your in-house Intranet that By allowing Hibernate to centrally handle serves hundreds of users or for mission-critical persistence, optimizations can be applied applications that serve hundreds of thousands across the board all of the time – unlike hand- of users. coding persistence. For example, by using EJB 3.0 ANNOTATIONS AND PERSISTENCE. Features Transparent Persistence Object-Oriented Query Language Ultra-High Performance Hibernate requires no interfaces or base Hibernate provides a powerful query language Hibernate includes lazy initialization, outer join classes for persistent classes and enables (HQL) that is expressed in a familiar SQL- fetching, batch fetching, and union fetching, any class or data structure to be persistent. like syntax and includes full support for as well as support for optimistic locking with Furthermore, Hibernate enables faster build polymorphic queries. Queries may also be automatic versioning and time stamping. procedures since it does not introduce expressed in the native SQL dialect of your Hibernate requires no special database build-time source or byte code generation or database or with powerful programmatic and tables or fi elds and generates much of the processing. type-safe Criteria and Example queries. SQL at system initialization time instead of runtime. Hibernate consistently offers superior Flexible Object/Relational Mapping Operate in Managed and Non-Managed performance to straight JDBC coding. Environments Hibernate is driven by XML mapping Dual-Layer Caching documents that defi ne the ORM and generate Hibernate can operate within any J2EE database table and constraint creation scripts. application server including JBoss Application Hibernate’s dual-layer cache architecture Hibernate supports a variety of inheritance Server and can be confi gured and managed delivers thread safeness, non-blocking data mapping strategies and all entity association via JMX (Java Management Extension) access, session level cache, optional and mapping styles including one-to-many, one- MBeans. Hibernate’s transaction system pluggable second-level cache, and optional to-one, and many-to-many. Hibernate also integrates with J2EE application server query cache. Hibernate also works well in supports bi-directional and unidirectional transactions via JTA (Java Transaction distributed application environments where associations as well as fi ne-grained API). Hibernate can also run outside of an other applications have simultaneous access composition for dependent value objects. application server container – bypassing the to the database. time-consuming deployment step. This is also Simple API’s a useful feature for those interested in using Hibernate within standalone non-managed Hibernate includes a Core API for application Java applications. code, an Extension API for customizations, and a Metadata API for applications that require access to Hibernate’s persistence metadata (to handle runtime mapping creation and changes, for example). The APIs in Hibernate 3 provide a superset of the functionality of EJB 3.0 Java Persistence, which means you can use EJB 3.0 Entity Manager and Query APIs with Hibernate when used standalone or within the version of JBoss Application Server that supports EJB 3.0. Support Services from the Source JBoss, Inc. pioneered the Professional > Indemnifi cation against any future legal action Open Source model whereby open source alleging that Hibernate or JBoss Inc. infringes software is backed up with expert support a valid patent or copyright is also included PERSONALIZED PRICING PLANS services delivered by the product experts with every Gold or Platinum level Professional SUIT YOUR SPECIFIC NEEDS. themselves. JBoss and the large network of Support contract. JBoss Authorized Service Partners offer a comprehensive set of support offerings for • Consulting includes both on-site and remote Hibernate including Professional Support, consulting services delivered by a trained Consulting, and Training. Hibernate consultant when in-depth product knowledge is essential. Our consulting Platform and Standards Support • Professional Support helps you to overcome services deliver the personal attention directly Minimum System Requirements all Hibernate-related issues – including bug from the source that is critical for ensuring and patch management, production support, timely success for your launch of Hibernate. • Hibernate 2 requires JDK 1.2 or higher (1.4.2 and 1.5.0 are recommended) and general Hibernate development and • Hibernate 3 requires JDK 1.3.1 or higher (1.4.2 deployment assistance. Three different levels • Training is delivered both through public and 1.5.0 are recommended) of support are available, ranging from 8x5 training courses hosted in major cities around • 128 MB RAM • 50 MB hard disk space support with 48 hour response times to 24x7 the world or as private training courses hosted • 400 MHz CPU support with 2 hour response times. All JBoss at your site. Hibernate Training
Recommended publications
  • Hibernate ORM Query Simplication Using Hibernate
    2016 3rd National Foundation for Science and Technology Development Conference on Information and Computer Science Hibernate ORM Query Simplication Using Hibernate Criteria Extension (HCE) Kisman Sani M. Isa Master of Information Technology Master in Computer Science Bina Nusantara University Bina Nusantara University Jl. Kebon Jeruk Raya No. 27, Jakarta Barat, DKI Jl. Kebon Jeruk Raya No. 27, Jakarta Barat, DKI Jakarta, Indonesia 11530 Jakarta, Indonesia 11530 [email protected] [email protected] Abstract— Software development time is a critical issue interfaced by a query. The software engineer will make in software development process, hibernate has been the query specified to database used. Each database widely used to increase development speed. It is used in vendor has their Structured Query Language (SQL). As database manipulation layer. This research develops a the development of software technology and most of library to simplify hibernate criteria. The library that is programming languages are object oriented, some called as Hibernate Criteria Extension (HCE) provides API functions to simplify code and easily to be used. Query engineer or software institutions try to simplify the associations can be defined by using dot. The library will query process. They try to bind object in application to automatically detect the join association(s) based on database. This approach is called as Object Relational mapping in entity class. It can also be used in restriction Mapping (ORM). ORM is a translation mechanism from and order. HCE is a hibernate wrapper library. The object to relational data, vice versa. ORM has “dialect” configuration is based on hibernate configuration.
    [Show full text]
  • Lesson 17 Building Xqueries in Xquery Editor View
    AquaLogic Data Services Platform™ Tutorial: Part II A Guide to Developing BEA AquaLogic Data Services Platform (DSP) Projects Note: This tutorial is based in large part on a guide originally developed for enterprises evaluating Data Services Platform for specific requirements. In some cases illustrations, directories, and paths reference Liquid Data, the previous name of the Data Services Platform. Version: 2.1 Document Date: June 2005 Revised: June 2006 Copyright Copyright © 2005, 2006 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend This software and documentation is subject to and made available only pursuant to the terms of the BEA Systems License Agreement and may be used or copied only in accordance with the terms of that agreement. It is against the law to copy the software except as specifically allowed in the agreement. This document may not, in whole or in part, be copied photocopied, reproduced, translated, or reduced to any electronic medium or machine readable form without prior consent, in writing, from BEA Systems, Inc. Use, duplication or disclosure by the U.S. Government is subject to restrictions set forth in the BEA Systems License Agreement and in subparagraph (c)(1) of the Commercial Computer Software- Restricted Rights Clause at FAR 52.227-19; subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013, subparagraph (d) of the Commercial Computer Software--Licensing clause at NASA FAR supplement 16-52.227-86; or their equivalent. Information in this document is subject to change without notice and does not represent a commitment on the part of BEA Systems.
    [Show full text]
  • Rdbmss Why Use an RDBMS
    RDBMSs • Relational Database Management Systems • A way of saving and accessing data on persistent (disk) storage. 51 - RDBMS CSC309 1 Why Use an RDBMS • Data Safety – data is immune to program crashes • Concurrent Access – atomic updates via transactions • Fault Tolerance – replicated dbs for instant failover on machine/disk crashes • Data Integrity – aids to keep data meaningful •Scalability – can handle small/large quantities of data in a uniform manner •Reporting – easy to write SQL programs to generate arbitrary reports 51 - RDBMS CSC309 2 1 Relational Model • First published by E.F. Codd in 1970 • A relational database consists of a collection of tables • A table consists of rows and columns • each row represents a record • each column represents an attribute of the records contained in the table 51 - RDBMS CSC309 3 RDBMS Technology • Client/Server Databases – Oracle, Sybase, MySQL, SQLServer • Personal Databases – Access • Embedded Databases –Pointbase 51 - RDBMS CSC309 4 2 Client/Server Databases client client client processes tcp/ip connections Server disk i/o server process 51 - RDBMS CSC309 5 Inside the Client Process client API application code tcp/ip db library connection to server 51 - RDBMS CSC309 6 3 Pointbase client API application code Pointbase lib. local file system 51 - RDBMS CSC309 7 Microsoft Access Access app Microsoft JET SQL DLL local file system 51 - RDBMS CSC309 8 4 APIs to RDBMSs • All are very similar • A collection of routines designed to – produce and send to the db engine an SQL statement • an original
    [Show full text]
  • Eclipselink Understanding Eclipselink 2.4
    EclipseLink Understanding EclipseLink 2.4 June 2013 EclipseLink Concepts Guide Copyright © 2012, 2013, by The Eclipse Foundation under the Eclipse Public License (EPL) http://www.eclipse.org/org/documents/epl-v10.php The initial contribution of this content was based on work copyrighted by Oracle and was submitted with permission. Print date: July 9, 2013 Contents Preface ............................................................................................................................................................... xiii Audience..................................................................................................................................................... xiii Related Documents ................................................................................................................................... xiii Conventions ............................................................................................................................................... xiii 1 Overview of EclipseLink 1.1 Understanding EclipseLink....................................................................................................... 1-1 1.1.1 What Is the Object-Persistence Impedance Mismatch?.................................................. 1-3 1.1.2 The EclipseLink Solution.................................................................................................... 1-3 1.2 Key Features ...............................................................................................................................
    [Show full text]
  • Cloud-TM Companion Document For
    Cloud-TM Specific Targeted Research Project (STReP) Contract no. 257784 Companion document for deliverable D2.2: Preliminary Prototype of the RDSTM and RSS Date of preparation: 10 June 2010 Start date of project: 1 June 2010 Duration: 36 Months Contributors Emmanuel Bernard, Red Hat Joao Cachopo, INESC-ID Mark Little, Red Hat Francesco Quaglia, CINI Paolo Romano, INESC-ID Vittorio A. Ziparo, ALGORITHMICA Manik Surtani, Red Hat Sanne Grinovero, Red Hat Fabio Cottefoglie, ALGORITHMICA —————————————————— (C) 2010 Cloud-TM Consortium. Some rights reserved. This work is licensed under the Attribution-NonCommercial-NoDerivs 3.0 Creative Commons License. See http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode for details. Table of Contents 1 Introduction 4 1.1 Relationship with other deliverables . .4 2 Architectural Overview of the Cloud-TM Preliminary Prototype 6 2.1 TorqueBox . .6 2.2 Object Grid Mapper . .7 2.3 Reconfigurable Distributed STM and Storage System . .8 3 Setting up the prototype 10 3.1 Structure and Content of the Package . 10 3.2 Installing and running the prototype . 10 3.2.1 Hibernate OGM . 11 3.2.2 Fenix Framework . 12 4 Conclusions 13 3 1 Introduction This document accompanies Deliverable D2.2, Preliminary Prototype of the Cloud- TM platform. Its aim is to overview the current architecture of the prototype and to document how to set it up in order to develop applications running on top of it. As planned in the DoW this preliminary prototype does not include neither dy- namic reconfiguration mechanisms, nor the Autonomic Manager which are going to be developed later on during the project.
    [Show full text]
  • APACHE LUCENE for JAVA EE DEVELOPERS JAVAONE:2015 by @Sannegrinovero
    APACHE LUCENE FOR JAVA EE DEVELOPERS JAVAONE:2015 by @SanneGrinovero WHO AM I? WHO AM I? RED HAT Principal Software Engineer, middleware R&D Dutch, Italian, living now in London HIBERNATE TEAM Hibernate Search project lead Hibernate ORM Hibernate OGM CONTRIBUTING TO INFINISPAN the Lucene guy: Infinispan Query, Infinispan Lucene Directory, clustering extensions for Hibernate Search OTHER PROJECTS I HELP WITH... WildFly, JGroups, Apache Lucene, ... AGENDA What is Apache Lucene and how can it help you Integrations with a JPA application via Hibernate Search How does this all relate with Infinispan and WildFly Lucene index management & clouds Plans and wishlist for the future THE SEARCH PROBLEM THE SEARCH PROBLEM Hey JavaOne, remind me where the talk having primary key #2342 is? SQL CAN HANDLE TEXT SQL CAN HANDLE TEXT The LIKE operator? LET'S REFRESH SOME LESSONS ON LET'S REFRESH SOME LESSONS ON THE WIKIPEDIA Select * from WikipediaPages p where p.content LIKE ?; Select * from WikipediaPages p where p.title LIKE ?; Select * from WikipediaPages p where (lowercase(p.content) LIKE %:1% OR lowercase(p.content) LIKE %:2% OR lowercase(p.content) LIKE %:3% OR ...); HOW BAD IS IT? HOW BAD IS IT? I'm quoting successfull web companies. How many can you list which do not provide an effective search engine? Human interaction REQUIREMENTS FOR A SEARCH REQUIREMENTS FOR A SEARCH ENGINE Need to guess what you want w/o you typing all of the content Humans hate complex forms: can't you just guess what I need? We want the results in the blink of an eye We want the right result on top: Relevance We want the right result on top: Relevance SOME MORE THINGS TO CONSIDER: SOME MORE THINGS TO CONSIDER: Approximate word matches Stemming / Language specific analysis Typos Synonyms, Abbreviations, Technical Language specializations BASICS: KEYWORD EXTRACTION On how to improve running by Scott 1.
    [Show full text]
  • Spring Framework Cookbook I
    Spring Framework Cookbook i Spring Framework Cookbook Spring Framework Cookbook ii Contents 1 Spring Framework Best Practices 1 1.1 Define singleton beans with names same as their class or interface names.....................1 1.2 Place Spring bean configuration files under a folder instead of root folder.....................1 1.3 Give common prefixes or suffixes to Spring bean configuration files........................2 1.4 Avoid using import elements within Spring XML configuration files as much as possible.............2 1.5 Stay away from auto wiring in XML based bean configurations...........................2 1.6 Always externalize bean property values with property placeholders........................3 1.7 Select default version-less XSD when importing namespace definitions.......................3 1.8 Always place classpath prefix in resource paths...................................4 1.9 Create a setter method even though you use field level auto wiring.........................4 1.10 Create a separate service layer even though service methods barely delegate their responsibilities to correspond- ing DAO methods...................................................4 1.11 Use stereotype annotations as much as possible when employing annotation driven bean configuration......5 1.12 Group handler methods according to related scenarios in different Controller beans................6 1.13 Place annotations over concrete classes and their methods instead of their interfaces................6 1.14 Prefer throwing runtime exceptions instead of checked exceptions
    [Show full text]
  • Java Database Technologies (Part I)
    Extreme Java G22.3033-007 Session 12 - Main Theme Java Database Technologies (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda Summary of Previous Session Applications of Java to Database Technology Database Technology Review Basic and Advanced JDBC Features J2EE Enterprise Data Enabling XML and Database Technology Readings Class Project & Assignment #5a 2 1 Summary of Previous Session Summary of Previous Session Enterprise JavaBeans (EJBs) J2EE Connector Architecture Practical Survey of Mainstream J2EE App. Servers Web Services Developer Pack Enterprise Application Integration (EAI) and Business to Business Integration (B2Bi) J2EE Blueprint Programs Class Project & Assignment #4c 3 Part I Java and Database Technology Also See Session 12 Handout on: “Java and Database Technology (JDBC)” and Session 12 Presentation on: “Designing Databases for eBusiness Solutions” 4 2 Review of Database Technology Introduction to Database Technology Data Modeling Conceptual Database Design Logical Database Design Physical Database Design Database System Programming Models Database Architectures Database Storage Management Database System Administration Commercial Systems: www.oracle.com,www.ibm.com/db2, http://www- 3.ibm.com/software/data/informix/,www.sybase.com 5 Advanced Database Concepts Parallel and Distributed Databases Web Databases Data Warehousing and Data Mining Mobile Databases Spatial and Multimedia Databases Geographic Information
    [Show full text]
  • Develop a Simple Web Application with Apache Wicket and Apache
    Develop a simple Web application with Apache Wicket and Apache Geronimo Combine Wicket, Geronimo, and Apache Derby to form an open source Java Web development platform Skill Level: Intermediate Robi Sen ([email protected]) Vice President Department 13 LLC 10 Jul 2007 Apache Wicket is an innovative Java™ Web application framework that was introduced a couple of years ago. It helps simplify Web application development by clearly separating the roles of developers and designers. It lets you remove logical code from the view layer, eliminating the need for JavaServer Pages (JSP), providing a simple plain old Java object (POJO)-centric mode of development, and removing much of the need for XML and other configuration file formats. In this tutorial, learn how to set up your system to develop a simple Web application with Wicket, using Apache Geronimo as your application server and Apache Derby as the embedded database. Section 1. Before you start This tutorial is designed for developers who have found Java frameworks, such as Struts, lacking in needed functionality. If you're interested in developing Web applications in a more object-oriented manner, where the view is clearly separated from logic and there's minimal configuration and mapping, then Wicket is for you! This tutorial walks you through the basics of how Wicket works, while using Apache Geronimo to set up a Java Platform, Enterprise Edition (Java EE) server, Web server, and embedded database in just minutes. Combining Wicket with Geronimo lets you develop data-driven, scalable Web applications using software that's all open source. Develop a simple Web application with Apache Wicket and Apache Geronimo © Copyright IBM Corporation 1994, 2008.
    [Show full text]
  • Comparative Studies of 10 Programming Languages Within 10 Diverse Criteria
    Department of Computer Science and Software Engineering Comparative Studies of 10 Programming Languages within 10 Diverse Criteria Jiang Li Sleiman Rabah Concordia University Concordia University Montreal, Quebec, Concordia Montreal, Quebec, Concordia [email protected] [email protected] Mingzhi Liu Yuanwei Lai Concordia University Concordia University Montreal, Quebec, Concordia Montreal, Quebec, Concordia [email protected] [email protected] COMP 6411 - A Comparative studies of programming languages 1/139 Sleiman Rabah, Jiang Li, Mingzhi Liu, Yuanwei Lai This page was intentionally left blank COMP 6411 - A Comparative studies of programming languages 2/139 Sleiman Rabah, Jiang Li, Mingzhi Liu, Yuanwei Lai Abstract There are many programming languages in the world today.Each language has their advantage and disavantage. In this paper, we will discuss ten programming languages: C++, C#, Java, Groovy, JavaScript, PHP, Schalar, Scheme, Haskell and AspectJ. We summarize and compare these ten languages on ten different criterion. For example, Default more secure programming practices, Web applications development, OO-based abstraction and etc. At the end, we will give our conclusion that which languages are suitable and which are not for using in some cases. We will also provide evidence and our analysis on why some language are better than other or have advantages over the other on some criterion. 1 Introduction Since there are hundreds of programming languages existing nowadays, it is impossible and inefficient
    [Show full text]
  • Oracle Glassfish Server Release Notes Release 3.1.2 and 3.1.2.2 E24939-04
    Oracle GlassFish Server Release Notes Release 3.1.2 and 3.1.2.2 E24939-04 October 2012 These Release Notes provide late-breaking information about GlassFish Server 3.1.2 and 3.1.2.2 software and documentation. These Release Notes include summaries of supported hardware, operating environments, and JDK and JDBC/RDBMS requirements. Also included are a summary of new product features in the 3.1.2 and 3.1.2.2 releases, and descriptions and workarounds for known issues and limitations. Oracle GlassFish Server Release Notes, Release 3.1.2 and 3.1.2.2 E24939-04 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S.
    [Show full text]
  • Ebean Java Persistence (Dominik Dorn)
    Meeting #44 EBean Java Persistence (Dominik Dorn) CoffeeScript & SASS (Clemens Helm) Brunch (w/ backbone.js) (Nik Graf – lightning talk) 2011-12-05 Dominik Dorn EBean Java Persistence just simple & powerful 2011-12-05 Dominik Dorn Overview ● What is EBean / Java Persistence + JPA? ● Architecture – where does it fit? ● Partial Objects + Fetch Graphs ● EBean Features ● Code... (maybe :) ) 2011-12-05 Dominik Dorn What is Ebean? ● open source Object Relational Mapping tool ● simple alternative to JPA (not like hibernate, eclipselink, etc.) ● “sessionless” API and simple query language (explained later) ● Fetch graphs + Partial Objects ● Lazy loading that just works. 2011-12-05 Dominik Dorn Architecture – Where does it fit? 2011-12-05 Dominik Dorn Differences to Hibernate/JPA ● Sessionless ● No EntityManager / Session / UnitOfWork – No merge(), persist(), attach() or detach() – Only save() and delete() ● Query Language ● Slightly different ● Optimized for fetch graphs and partial objects ● No hacks ● For wide tables / blobs & clobs etc. 2011-12-05 Dominik Dorn Partial Objects & Fetch Graphs ● TASK: Print an Invoice → get Order(date, items, total) + customer (name, email) + items ( name, price ) 2011-12-05 Dominik Dorn Partial Objects & Fetch Graphs ● Hibernate createQuery(“SELECT o FROM Order o WHERE o.id = ?”) → Lazy/eager loading Customer + Items → “Huge” traffic and memory requirements (blobs etc.) 2011-12-05 Dominik Dorn Partial Objects & Fetch Graphs ● EBean Order o = Ebean.find(Order.class) .select("date, total") .fetch("customer", "name,
    [Show full text]