taskdaohibernate.java
来自「Java的框架」· Java 代码 · 共 139 行
JAVA
139 行
/**
*
*/
package mcaps.apps.prrm.task.dao.hibernate;
import java.util.ArrayList;
import java.util.List;
import mcap.core.logging.Log;
import mcaps.apps.prrm.roadinspection.model.RoadInspection;
import mcaps.apps.prrm.task.dao.TaskDAO;
import mcaps.apps.prrm.task.model.Category;
import mcaps.apps.prrm.task.model.Priority;
import mcaps.apps.prrm.task.model.Status;
import mcaps.apps.prrm.task.model.Task;
import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.dao.DataAccessException;
import org.springframework.dao.DataRetrievalFailureException;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
* @author fenglei
*
*/
public class TaskDAOHibernate extends HibernateDaoSupport implements TaskDAO {
private String className="mcaps.apps.prrm.task.dao.hibernate.TaskDAOHibernate";
/* (non-Javadoc)
* @see mcaps.apps.prrm.task.dao.TaskDAO#getTask(java.lang.Integer)
*/
public Task getTask(Integer taskID) throws DataAccessException {
HibernateTemplate template=getHibernateTemplate();
Task task=(Task)template.get(Task.class,taskID);
if(task ==null)
{
Log.warn("Task with spcified identifier [" +
taskID + "] not found.");
throw new DataRetrievalFailureException("Task with spcified identifier [" +
taskID + "] not found.");
}
return task;
}
/* (non-Javadoc)
* @see mcaps.apps.prrm.task.dao.TaskDAO#getAllTasks()
*/
public List getAllTasks() throws DataAccessException {
return getHibernateTemplate().find("from Task");
}
/* (non-Javadoc)
* @see mcaps.apps.prrm.task.dao.TaskDAO#getTasks(mcaps.apps.prrm.task.model.Task)
*/
public List getTasks(Task task) throws DataAccessException {
int cnt = 0;
if (task == null) return getAllTasks();
Criteria c = this.getSession().createCriteria(Task.class);
String priority = task.getPriority();
if (priority != null){
if (priority.trim().length() > 0){
c.add(Restrictions.like("priority", "%" + priority + "%"));
cnt++;
}
}
String category = task.getCategory();
if (category != null){
if (category.trim().length() > 0){
c.add(Restrictions.like("category", "%" + category + "%"));
cnt++;
}
}
String status = task.getStatus();
if (status != null){
if (status.trim().length() > 0){
c.add(Restrictions.like("status", "%" + status + "%"));
cnt++;
}
}
String remarks = task.getRemarks();
if (remarks != null){
if (remarks.trim().length() > 0){
c.add(Restrictions.like("remarks", "%" + remarks + "%"));
cnt++;
}
}
String assignedUserId = task.getAssignedUserId();
if (assignedUserId != null){
if (assignedUserId.trim().length() > 0){
c.add(Restrictions.eq("assignedUserId", assignedUserId));
cnt++;
}
}
Integer roadDefectId=task.getRoadDefectId();
if (roadDefectId != null){
c.add(Restrictions.eq("roadDefectId", roadDefectId));
cnt++;
}
//Return empty list else all records will be returned if
//no restriction is applied.
if (cnt > 0){
return c.list();
}
return new ArrayList();
}
/* (non-Javadoc)
* @see mcaps.apps.prrm.task.dao.TaskDAO#saveTask(mcaps.apps.prrm.task.model.Task)
*/
public void saveTask(Task task) throws DataAccessException {
Log.info(className + " saveTask");
getHibernateTemplate().saveOrUpdate(task);
getHibernateTemplate().flush();
Log.info(className + " saveTask taskid=" + task.getId());
}
/* (non-Javadoc)
* @see mcaps.apps.prrm.task.dao.TaskDAO#removeTask(java.lang.Integer)
*/
public void removeTask(Task task) throws DataAccessException {
getHibernateTemplate().delete(task);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?