org.tynamo.hibernate.services
Class HibernatePersistenceServiceImpl

java.lang.Object
  extended by org.tynamo.internal.services.GenericPersistenceService
      extended by org.tynamo.hibernate.services.HibernatePersistenceServiceImpl
All Implemented Interfaces:
HibernatePersistenceService, PersistenceService

public class HibernatePersistenceServiceImpl
extends GenericPersistenceService
implements HibernatePersistenceService


Constructor Summary
HibernatePersistenceServiceImpl(org.slf4j.Logger logger, DescriptorService descriptorService, org.apache.tapestry5.hibernate.HibernateSessionManager sessionManager, org.apache.tapestry5.ioc.services.PropertyAccess propertyAccess, org.apache.tapestry5.services.PropertyConduitSource propertyConduitSource)
           
 
Method Summary
<T> T
addToCollection(CollectionDescriptor descriptor, T element, Object collectionOwner)
           
protected  org.hibernate.criterion.DetachedCriteria alterCriteria(Class type, org.hibernate.criterion.DetachedCriteria detachedCriteria)
          This hook allows subclasses to modify the query criteria, such as for security
 int count(Class type)
           
 int count(Class type, org.hibernate.criterion.DetachedCriteria detachedCriteria)
           
 List findByQuery(String queryString)
          Execute an HQL query.
 List findByQuery(String queryString, int startIndex, int maxResults, QueryParameter... parameters)
          Execute an HQL query.
 List findByQuery(String queryString, QueryParameter... parameters)
          Execute an HQL query.
<T> org.apache.tapestry5.grid.GridDataSource
getGridDataSource(Class<T> type)
           
 Serializable getIdentifier(Object data)
           
 Serializable getIdentifier(Object data, TynamoClassDescriptor classDescriptor)
           
<T> T
getInstance(Class<T> type, org.hibernate.criterion.DetachedCriteria detachedCriteria)
          https://trails.dev.java.net/servlets/ReadMsg?listName=users&msgNo=1226

Very often I find myself writing: Object example = new Object(); example.setProperty(uniqueValue); List objects = ((TynamoPage)getPage()).getPersistenceService().getInstances(example); (MyObject)objects.get(0); when, in fact, I know that the single property I populated my example object with should be unique, and thus only one object should be returned

<T> T
getInstance(Class<T> type, Serializable id)
          (non-Javadoc)
<T> List<T>
getInstances(Class<T> type)
          (non-Javadoc)
<T> List<T>
getInstances(Class<T> type, org.hibernate.criterion.DetachedCriteria criteria)
           
<T> List<T>
getInstances(Class<T> type, org.hibernate.criterion.DetachedCriteria detachedCriteria, int startIndex, int maxResults)
           
<T> List<T>
getInstances(Class<T> type, int startIndex, int maxResults)
           
 List getInstances(org.hibernate.criterion.DetachedCriteria detachedCriteria, int startIndex, int maxResults)
           
 List getInstances(Object example, TynamoClassDescriptor classDescriptor)
          Does a query by example
 List getOrphanInstances(CollectionDescriptor descriptor, Object owner)
           
 boolean isTransient(Object data, TynamoClassDescriptor classDescriptor)
           
<T> T
merge(T instance)
           
 void reattach(Object model)
           
 void remove(Object instance)
           
 void removeAll(Collection collection)
           
<T> T
save(T instance)
          (non-Javadoc)
<T> T
saveOrUpdate(T instance)
           
 
Methods inherited from class org.tynamo.internal.services.GenericPersistenceService
getPropertyAccess, removeFromCollection
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.tynamo.hibernate.services.HibernatePersistenceService
removeFromCollection
 

Constructor Detail

HibernatePersistenceServiceImpl

public HibernatePersistenceServiceImpl(org.slf4j.Logger logger,
                                       DescriptorService descriptorService,
                                       org.apache.tapestry5.hibernate.HibernateSessionManager sessionManager,
                                       org.apache.tapestry5.ioc.services.PropertyAccess propertyAccess,
                                       org.apache.tapestry5.services.PropertyConduitSource propertyConduitSource)
Method Detail

getInstance

public <T> T getInstance(Class<T> type,
                         org.hibernate.criterion.DetachedCriteria detachedCriteria)
https://trails.dev.java.net/servlets/ReadMsg?listName=users&msgNo=1226

Very often I find myself writing: Object example = new Object(); example.setProperty(uniqueValue); List objects = ((TynamoPage)getPage()).getPersistenceService().getInstances(example); (MyObject)objects.get(0); when, in fact, I know that the single property I populated my example object with should be unique, and thus only one object should be returned

Specified by:
getInstance in interface HibernatePersistenceService
Parameters:
type - The type to use to check for security restrictions.
detachedCriteria -
Returns:

getInstance

public <T> T getInstance(Class<T> type,
                         Serializable id)
(non-Javadoc)

Specified by:
getInstance in interface PersistenceService
See Also:
PersistenceService.getInstance(Class,Serializable)

findByQuery

public List findByQuery(String queryString)
Execute an HQL query.

Specified by:
findByQuery in interface HibernatePersistenceService
Parameters:
queryString - a query expressed in Hibernate's query language
Returns:
a List of entities containing the results of the query execution

findByQuery

public List findByQuery(String queryString,
                        QueryParameter... parameters)
Execute an HQL query.

Specified by:
findByQuery in interface HibernatePersistenceService
Parameters:
queryString - a query expressed in Hibernate's query language
parameters - the (optional) parameters for the query.
Returns:
a List of entities containing the results of the query execution

findByQuery

public List findByQuery(String queryString,
                        int startIndex,
                        int maxResults,
                        QueryParameter... parameters)
Execute an HQL query.

Specified by:
findByQuery in interface HibernatePersistenceService
Parameters:
queryString - a query expressed in Hibernate's query language
startIndex - the index of the first item to be retrieved
maxResults - the number of items to be retrieved, if 0 it retrieves ALL the items
parameters - the (optional) parameters for the query.
Returns:
a List of entities containing the results of the query execution

getInstances

public <T> List<T> getInstances(Class<T> type)
(non-Javadoc)

Specified by:
getInstances in interface PersistenceService
See Also:
PersistenceService.getInstances(java.lang.Class)

getInstances

public <T> List<T> getInstances(Class<T> type,
                                int startIndex,
                                int maxResults)
Specified by:
getInstances in interface PersistenceService

save

public <T> T save(T instance)
(non-Javadoc)

Specified by:
save in interface PersistenceService
See Also:
PersistenceService.save(java.lang.Object)

removeAll

public void removeAll(Collection collection)
Specified by:
removeAll in interface PersistenceService

remove

public void remove(Object instance)
Specified by:
remove in interface PersistenceService

getInstances

public <T> List<T> getInstances(Class<T> type,
                                org.hibernate.criterion.DetachedCriteria criteria)
Specified by:
getInstances in interface HibernatePersistenceService

reattach

public void reattach(Object model)
Specified by:
reattach in interface HibernatePersistenceService
Parameters:
model - to attach to the current persistence session

getIdentifier

public Serializable getIdentifier(Object data,
                                  TynamoClassDescriptor classDescriptor)
Specified by:
getIdentifier in interface PersistenceService

getIdentifier

public Serializable getIdentifier(Object data)
Specified by:
getIdentifier in interface PersistenceService

isTransient

public boolean isTransient(Object data,
                           TynamoClassDescriptor classDescriptor)
Specified by:
isTransient in interface HibernatePersistenceService

getInstances

public List getInstances(Object example,
                         TynamoClassDescriptor classDescriptor)
Description copied from interface: HibernatePersistenceService
Does a query by example

Specified by:
getInstances in interface HibernatePersistenceService
Returns:

count

public int count(Class type)
Specified by:
count in interface PersistenceService

count

public int count(Class type,
                 org.hibernate.criterion.DetachedCriteria detachedCriteria)
Specified by:
count in interface HibernatePersistenceService

getInstances

public <T> List<T> getInstances(Class<T> type,
                                org.hibernate.criterion.DetachedCriteria detachedCriteria,
                                int startIndex,
                                int maxResults)
Specified by:
getInstances in interface HibernatePersistenceService

getInstances

public List getInstances(org.hibernate.criterion.DetachedCriteria detachedCriteria,
                         int startIndex,
                         int maxResults)

alterCriteria

protected org.hibernate.criterion.DetachedCriteria alterCriteria(Class type,
                                                                 org.hibernate.criterion.DetachedCriteria detachedCriteria)
This hook allows subclasses to modify the query criteria, such as for security

Parameters:
detachedCriteria - The original Criteria query
Returns:
The modified Criteria query for execution

merge

public <T> T merge(T instance)
Specified by:
merge in interface HibernatePersistenceService
See Also:
HibernatePersistenceService.saveOrUpdate(java.lang.Object)

saveOrUpdate

public <T> T saveOrUpdate(T instance)
Specified by:
saveOrUpdate in interface HibernatePersistenceService
See Also:
HibernatePersistenceService.saveOrUpdate(java.lang.Object)

addToCollection

public <T> T addToCollection(CollectionDescriptor descriptor,
                             T element,
                             Object collectionOwner)
Specified by:
addToCollection in interface HibernatePersistenceService
Specified by:
addToCollection in interface PersistenceService
Overrides:
addToCollection in class GenericPersistenceService

getOrphanInstances

public List getOrphanInstances(CollectionDescriptor descriptor,
                               Object owner)
Specified by:
getOrphanInstances in interface PersistenceService

getGridDataSource

public <T> org.apache.tapestry5.grid.GridDataSource getGridDataSource(Class<T> type)
Specified by:
getGridDataSource in interface PersistenceService


Copyright © 2004-2013. All Rights Reserved.