Minter / Linwood | Pro Hibernate 3 | E-Book | sack.de
E-Book

E-Book, Englisch, 264 Seiten, eBook

Minter / Linwood Pro Hibernate 3


1. Auflage 2006
ISBN: 978-1-4302-0042-0
Verlag: APRESS
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 264 Seiten, eBook

ISBN: 978-1-4302-0042-0
Verlag: APRESS
Format: PDF
Kopierschutz: 1 - PDF Watermark



Pro Hibernate 3 is the first book to offer complete coverage of the open source lightweight Hibernate 3 and its features. Authors Dave Minter and Jeff Linwood discuss the persistence layer and share design tips and best practices. And the duo goes beyond just explaining how to use parts of Hibernate; they probe well beneath the surface, and teach you how to step back and solve problems thoroughly. If you have experience using Java with databases, but lack experience with Hibernate, then this book is ideal for you. Similarly, if you have some familiarity with Hibernate 2 and now want to learn the nuances of version 3, then this book is a wise addition to your library.
Minter / Linwood Pro Hibernate 3 jetzt bestellen!

Zielgruppe


Popular/general


Autoren/Hrsg.


Weitere Infos & Material


Hibernate 3 Primer.- An Introduction to Hibernate 3.- Integrating and Configuring Hibernate.- Building a Simple Application.- Using Annotations with Hibernate.- Hibernate 3 Reference.- The Persistence Lifecycle.- Creating Mappings.- Querying Objects with Criteria.- Querying with HQL and SQL.- Using the Session.- Design Considerations with Hibernate 3.- Events and Interceptors.- Hibernate Filters.- Fitting Hibernate into the Existing Environment.- Upgrading from Hibernate 2.


C H A P T E R 7

Querying Objects with Criteria (P. 131)

In this chapter, we are going to discuss retrieving objects from the database using Hibernate’s criteria query API. Hibernate provides three different ways to retrieve data: the criteria query API, the Hibernate Query Language (HQL), and native SQL queries. The criteria query API provides a set of Java objects you can use to construct your queries. Hibernate provides its own object query language, HQL, which allows you to use SQL-like syntax to retrieve objects from the database. Lastly, Hibernate provides an API for using SQL directly against the database, which allows you to use database-specific SQL that Hibernate does not support.

We discuss criteria in this chapter—in Chapter 8 we will cover HQL and SQL queries. The criteria query API lets you build nested, structured query expressions in Java, providing a compile-time syntax checking that is not possible with a query language like HQL or SQL. The criteria query API also includes Query By Example (QBE) functionality for supplying example objects that contain the properties you would like to retrieve.

In Hibernate 3, the criteria query API also includes projection and aggregation methods, including count. In Hibernate 2, you had to download a patch to the criteria query API to enable row counting.

Using the Criteria Query API

The easiest way to retrieve data with Hibernate is to use the criteria query API. Instead of writing an SQL SELECT statement or an HQL statement, you can build up a query programmatically. You can also use QBE to retrieve objects that match an object that you have partially populated (we will discuss QBE in more detail further on in the chapter). The org.hibernate. Criteria interface defines the available methods for one of these criteria query objects.

The Hibernate Session interface contains several createCriteria() methods. Pass the persistent object’s class or its entity name to the createCriteria() method, and Hibernate will create a Criteria object that returns instances of the persistence object’s class when your application executes a criteria query.

The simplest example of a criteria query is one with no optional parameters or restrictions —the criteria query will simply return every object that corresponds to the class. We will illustrate this criteria with an example, but we wanted to first introduce the sample application we are using in this chapter, and the next chapter on HQL. The sample application has three classes: Supplier, Product, and Software. The Supplier class (see Listing 7-1) has a name property and a List collection of Product objects.

Listing 7-1. The Supplier Class

package com.hibernatebook.criteria,

import java.util.ArrayList,

import java.util.List,

public class Supplier

{

private int id,

private String name,

private List products = new ArrayList(),

public int getId()

{

return id,

}

public void setId(int id)

{


Dave Minter has adored computers since he was small enough to play in the boxes they came in. He built his first PC from discarded, faulty, and obsolete components, and considers that to be the foundation of his career as an integration consultant. Dave is based in London, where he helps large and small companies build systems that "just work." He co-authored Building Portals with the Java Portlet API and Pro Hibernate 3.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.