|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.dao.support.DaoSupport org.springframework.orm.hibernate.support.HibernateDaoSupport com.atlassian.hibernate.HibernateObjectDao
public abstract class HibernateObjectDao
Generic DAO for hibernate objects. Takes care of indexing and de-indexing, and setting creation and update times for objects.
For this reason, you should always do object CRUD through the DAO, you shouldn't trust Hibernate to do it for you: Hibernate will save the object, but skip the additional stuff the DAO does.
Subclasses will need to implement the getPersistentClass() method to return the class that the DAO is serving: that way getByClassId() will perform correctly.
Subclasses should also override updateModificationData() if they want to perform any additional modifications on objects that are being saved through the DAO. Just remember to call super. (updateModificationData will not be called if an object is saved through saveRaw())
Field Summary | |
---|---|
protected static org.apache.log4j.Logger |
log
Deprecated. Since 4.0. Use a class-private logger. |
Fields inherited from class org.springframework.dao.support.DaoSupport |
---|
logger |
Constructor Summary | |
---|---|
HibernateObjectDao()
|
Method Summary | ||
---|---|---|
java.util.List |
findAll()
Find all objects of the class provided by getPersistentClass() |
|
java.util.List |
findAllSorted(java.lang.String sortField)
Find all objects currently persisted of a particular type and sort results by named property. |
|
java.util.List |
findAllSorted(java.lang.String sortField,
boolean cacheable,
int offset,
int maxResultCount)
Find all objects currently persisted of a particular type and sort results by named property. |
|
protected java.util.List |
findNamedQuery(java.lang.String queryName)
TODO Deprecate these method variants and use findNamedQueryStringParams(String,boolean,int,int, Object[]) . |
|
protected java.util.List |
findNamedQuery(java.lang.String queryName,
boolean cacheable)
|
|
protected java.util.List |
findNamedQuery(java.lang.String queryName,
boolean cacheable,
int maxResultCount)
|
|
protected java.util.List |
findNamedQueryStringParam(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue)
|
|
protected java.util.List |
findNamedQueryStringParam(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue,
boolean cacheable)
|
|
protected java.util.List |
findNamedQueryStringParam(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue,
boolean cacheable,
int maxResultCount)
|
|
protected java.util.List |
findNamedQueryStringParams(java.lang.String queryName,
boolean cacheable,
int offset,
int maxResultCount,
java.lang.Object... paramNamesAndValues)
|
|
protected java.util.List |
findNamedQueryStringParams(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue,
java.lang.String param2Name,
java.lang.Object param2Value)
|
|
protected java.util.List |
findNamedQueryStringParams(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue,
java.lang.String param2Name,
java.lang.Object param2Value,
boolean cacheable)
|
|
protected java.util.List |
findNamedQueryStringParams(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue,
java.lang.String param2Name,
java.lang.Object param2Value,
boolean cacheable,
int maxResultCount)
|
|
protected java.util.List |
findNamedQueryStringParams(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue,
java.lang.String param2Name,
java.lang.Object param2Value,
java.lang.String param3Name,
java.lang.Object param3Value)
|
|
protected java.util.List |
findNamedQueryStringParams(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue,
java.lang.String param2Name,
java.lang.Object param2Value,
java.lang.String param3Name,
java.lang.Object param3Value,
boolean cacheable)
|
|
protected java.util.List |
findNamedQueryStringParams(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue,
java.lang.String param2Name,
java.lang.Object param2Value,
java.lang.String param3Name,
java.lang.Object param3Value,
boolean cacheable,
int maxResultCount)
|
|
protected java.util.List |
findNamedQueryStringParams(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue,
java.lang.String param2Name,
java.lang.Object param2Value,
java.lang.String param3Name,
java.lang.Object param3Value,
java.lang.String param4Name,
java.lang.Object param4Value)
|
|
protected java.util.List |
findNamedQueryStringParams(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue,
java.lang.String param2Name,
java.lang.Object param2Value,
java.lang.String param3Name,
java.lang.Object param3Value,
java.lang.String param4Name,
java.lang.Object param4Value,
boolean cacheable)
|
|
protected java.util.List |
findNamedQueryStringParams(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object paramValue,
java.lang.String param2Name,
java.lang.Object param2Value,
java.lang.String param3Name,
java.lang.Object param3Value,
java.lang.String param4Name,
java.lang.Object param4Value,
boolean cacheable,
int maxResultCount)
|
|
protected
|
findSingleObject(java.util.List<T> results)
Deprecated. since 5.2. Entity ID comparison is not a recommended way to select a result. Use uniqueResult(java.util.List) , Query.uniqueResult() ,
Criteria.uniqueResult() , or manually handle it yourself. |
|
protected com.atlassian.core.bean.EntityObject |
getByClassId(long id)
Retrieve the object with a particular id from the database. |
|
protected int |
getCountResult(java.util.List<java.lang.Integer> results)
|
|
protected void |
index(com.atlassian.core.bean.EntityObject objectToSave)
|
|
void |
refresh(com.atlassian.core.bean.EntityObject objectToRefresh)
Update the stat of an object based on the current state of the database. |
|
protected void |
reIndex(com.atlassian.core.bean.EntityObject objectToSave)
|
|
void |
remove(com.atlassian.core.bean.EntityObject objectToRemove)
Remove an object from the database |
|
void |
replicate(java.lang.Object objectToReplicate)
Replicate the object. |
|
void |
save(com.atlassian.core.bean.EntityObject objectToSave)
Save an object. |
|
void |
saveRaw(com.atlassian.core.bean.EntityObject objectToSave)
Save the object without updateModificationData being called. |
|
void |
setIndexer(com.atlassian.bonnie.Indexer indexer)
|
|
protected void |
unIndex(com.atlassian.core.bean.EntityObject objectToSave,
boolean unindexDependents)
|
|
protected
|
uniqueResult(java.util.List<T> results)
Attempts to select a single result from a list of results. |
|
protected void |
updateModificationData(com.atlassian.core.bean.EntityObject objectToSave)
Perform any modifications that need to be done to an object every time it is saved. |
Methods inherited from class org.springframework.orm.hibernate.support.HibernateDaoSupport |
---|
checkDaoConfig, convertHibernateAccessException, createHibernateTemplate, getHibernateTemplate, getSession, getSession, getSessionFactory, releaseSession, setHibernateTemplate, setSessionFactory |
Methods inherited from class org.springframework.dao.support.DaoSupport |
---|
afterPropertiesSet, initDao |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface bucket.core.persistence.ObjectDao |
---|
getPersistentClass |
Field Detail |
---|
@Deprecated protected static final org.apache.log4j.Logger log
Constructor Detail |
---|
public HibernateObjectDao()
Method Detail |
---|
public void setIndexer(com.atlassian.bonnie.Indexer indexer)
protected com.atlassian.core.bean.EntityObject getByClassId(long id)
id
- the id of the object to look up
public java.util.List findAll()
findAll
in interface ObjectDao
public java.util.List findAllSorted(java.lang.String sortField)
ObjectDao
findAllSorted
in interface ObjectDao
sortField
- the name of the property to be sorted on. This should be null if no sorting is required.public java.util.List findAllSorted(java.lang.String sortField, boolean cacheable, int offset, int maxResultCount)
ObjectDao
findAllSorted
in interface ObjectDao
sortField
- the name of the property to be sorted on. This should be null if no sorting is required.cacheable
- control whether the results should be cachedoffset
- the index of the first result to be returnedmaxResultCount
- the maximum number of results required. Use -1 to specify no limit.public void save(com.atlassian.core.bean.EntityObject objectToSave)
save
in interface ObjectDao
objectToSave
- protected void updateModificationData(com.atlassian.core.bean.EntityObject objectToSave)
objectToSave
- the object that is about to be savedpublic void saveRaw(com.atlassian.core.bean.EntityObject objectToSave)
saveRaw
in interface ObjectDao
objectToSave
- object to savepublic void remove(com.atlassian.core.bean.EntityObject objectToRemove)
remove
in interface ObjectDao
objectToRemove
- the object to removepublic void refresh(com.atlassian.core.bean.EntityObject objectToRefresh)
refresh
in interface ObjectDao
objectToRefresh
- the object to refreshpublic void replicate(java.lang.Object objectToReplicate)
ObjectDao
replicate
in interface ObjectDao
protected void index(com.atlassian.core.bean.EntityObject objectToSave)
protected void reIndex(com.atlassian.core.bean.EntityObject objectToSave)
protected void unIndex(com.atlassian.core.bean.EntityObject objectToSave, boolean unindexDependents)
protected java.util.List findNamedQuery(java.lang.String queryName)
findNamedQueryStringParams(String,boolean,int,int, Object[])
.
protected java.util.List findNamedQuery(java.lang.String queryName, boolean cacheable)
protected java.util.List findNamedQuery(java.lang.String queryName, boolean cacheable, int maxResultCount)
protected java.util.List findNamedQueryStringParam(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue)
protected java.util.List findNamedQueryStringParam(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue, boolean cacheable)
protected java.util.List findNamedQueryStringParam(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue, boolean cacheable, int maxResultCount)
protected java.util.List findNamedQueryStringParams(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue, java.lang.String param2Name, java.lang.Object param2Value)
protected java.util.List findNamedQueryStringParams(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue, java.lang.String param2Name, java.lang.Object param2Value, boolean cacheable)
protected java.util.List findNamedQueryStringParams(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue, java.lang.String param2Name, java.lang.Object param2Value, boolean cacheable, int maxResultCount)
protected java.util.List findNamedQueryStringParams(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue, java.lang.String param2Name, java.lang.Object param2Value, java.lang.String param3Name, java.lang.Object param3Value)
protected java.util.List findNamedQueryStringParams(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue, java.lang.String param2Name, java.lang.Object param2Value, java.lang.String param3Name, java.lang.Object param3Value, boolean cacheable)
protected java.util.List findNamedQueryStringParams(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue, java.lang.String param2Name, java.lang.Object param2Value, java.lang.String param3Name, java.lang.Object param3Value, boolean cacheable, int maxResultCount)
protected java.util.List findNamedQueryStringParams(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue, java.lang.String param2Name, java.lang.Object param2Value, java.lang.String param3Name, java.lang.Object param3Value, java.lang.String param4Name, java.lang.Object param4Value)
protected java.util.List findNamedQueryStringParams(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue, java.lang.String param2Name, java.lang.Object param2Value, java.lang.String param3Name, java.lang.Object param3Value, java.lang.String param4Name, java.lang.Object param4Value, boolean cacheable)
protected java.util.List findNamedQueryStringParams(java.lang.String queryName, java.lang.String paramName, java.lang.Object paramValue, java.lang.String param2Name, java.lang.Object param2Value, java.lang.String param3Name, java.lang.Object param3Value, java.lang.String param4Name, java.lang.Object param4Value, boolean cacheable, int maxResultCount)
protected java.util.List findNamedQueryStringParams(java.lang.String queryName, boolean cacheable, int offset, int maxResultCount, java.lang.Object... paramNamesAndValues)
protected int getCountResult(java.util.List<java.lang.Integer> results)
@Deprecated protected <T extends com.atlassian.core.bean.EntityObject> T findSingleObject(java.util.List<T> results)
uniqueResult(java.util.List)
, Query.uniqueResult()
,
Criteria.uniqueResult()
, or manually handle it yourself.
protected <T extends com.atlassian.core.bean.EntityObject> T uniqueResult(java.util.List<T> results) throws net.sf.hibernate.NonUniqueResultException
net.sf.hibernate.NonUniqueResultException
- If more than one unique objects is found in the list.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |