/home/mario/oci/jnb/dataaccess/source/src/java/com/ociweb/service/QueryFactoryImpl.java
|
1 /**
2 * This software program, Simple Data Access Layer (SDAL), is copyrighted by Object
3 * Computing inc of St. Louis MO USA. It is provided under the open-source model
4 * and is free of license fees. You are free to modify this code for your own use
5 * but you may not claim copyright.
6 *
7 * Since SDAL is open source and free of licensing fees, you are free to use,
8 * modify, and distribute the source code, as long as you include this copyright
9 * statement.
10 *
11 * In particular, you can use SDAL to build proprietary software and are under no
12 * obligation to redistribute any of your source code that is built using SDAL.
13 * Note, however, that you may not do anything to the SDAL code, such as
14 * copyrighting it yourself or claiming authorship of the SDAL code, that will
15 * prevent SDAL from being distributed freely using an open source development
16 * model.
17 *
18 * Warranty
19 * LICENSED PRODUCT, SDAL, IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
20 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE,
21 * NONINFRINGEMENT, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
22 *
23 * Support
24 * LICENSED PRODUCT, SDAL, IS PROVIDED WITH NO SUPPORT AND WITHOUT ANY OBLIGATION ON THE
25 * PART OF OCI OR ANY OF ITS SUBSIDIARIES OR AFFILIATES TO ASSIST IN ITS USE,
26 * CORRECTION, MODIFICATION OR ENHANCEMENT.
27 *
28 * Support may be available from OCI to users who have agreed to a support
29 * contract.
30 *
31 * Liability
32 * OCI OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
33 * RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
34 * LICENSED PRODUCT OR ANY PART THEREOF.
35 *
36 * IN NO EVENT WILL OCI OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR ANY
37 * LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL DAMAGES,
38 * EVEN IF OCI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
39 *
40 * Copyright OCI. St. Louis MO USA, 2004
41 *
42 */
43 package com.ociweb.service;
44
45 import net.sf.hibernate.Session;
46 import net.sf.hibernate.HibernateException;
47 import com.ociweb.service.CriteriaQuery;
48 import com.ociweb.service.CriteriaQueryImpl;
49 import com.ociweb.service.LookupException;
50 import com.ociweb.service.Query;
51
52 class QueryFactoryImpl implements QueryFactory {
53
54 public Query newQuery(String query) throws LookupException {
55 try {
56 return new QueryImpl(getSession().createQuery(query));
57 } catch (HibernateException e) {
58 throw new LookupException("Unable to create new Query", e);
59 }
60 }
61
62 public Query getNamedQuery(String name) throws LookupException {
63 try {
64 return new QueryImpl(getSession().getNamedQuery(name));
65 } catch (HibernateException e) {
66 throw new LookupException("Unable to find named Query: " + name, e);
67 }
68 }
69
70 public CriteriaQuery newCriteriaQuery(Class domainClass) {
71 return new CriteriaQueryImpl(getSession().createCriteria(domainClass));
72 }
73
74 private Session getSession() {
75 return ThreadSessionHolder.get();
76 }
77 }
78