roadinspectiondaohibernate.java
来自「Java的框架」· Java 代码 · 共 160 行
JAVA
160 行
package mcaps.apps.prrm.roadinspection.dao.hibernate;
import java.util.ArrayList;
import java.util.List;
import mcap.core.logging.Log;
import mcaps.apps.prrm.roaddefect.dao.jdbc.query.RoadDefectInsert;
import mcaps.apps.prrm.roaddefect.model.RoadDefect;
import mcaps.apps.prrm.roadinspection.dao.RoadInspectionDAO;
import mcaps.apps.prrm.roadinspection.model.RoadInspection;
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;
/**
* This is an implementation of RoadInspectionDAO using Hibernate. It interacts with
* Spring's HibernateTemplate to save/delete and retrieve RoadInspection objects.
*
* @author fenglei
* @date July 20 2006
* @version 1.0.0.0
*/
public class RoadInspectionDAOHibernate extends HibernateDaoSupport implements
RoadInspectionDAO {
/* (non-Javadoc)
* @see mcaps.apps.prrm.roadinspection.dao.RoadInspectionDAO#getRoadInspection(java.lang.Integer)
*/
public RoadInspection getRoadInspection(Integer roadInspectionID) throws DataAccessException {
HibernateTemplate template = getHibernateTemplate ();
RoadInspection roadInspection = (RoadInspection) template.get (RoadInspection.class, roadInspectionID);
if (roadInspection == null) {
Log.warn ("Road Inspection with specified identifier [" +
roadInspectionID + "] not found.");
throw new DataRetrievalFailureException ("Road Inspection with specified identifier [" +
roadInspectionID + "] not found.");
}
return roadInspection;
}
/* (non-Javadoc)
* @see mcaps.apps.prrm.roadinspection.dao.RoadInspectionDAO#getAllRoadInspections()
*/
public List getAllRoadInspections() throws DataAccessException {
return getHibernateTemplate ().find ("from RoadInspection");
}
/* (non-Javadoc)
* @see mcaps.apps.prrm.roadinspection.dao.RoadInspectionDAO#getRoadInspections(mcaps.apps.prrm.roadinspection.model.RoadInspection)
*/
public List getRoadInspections(RoadInspection roadInspection) throws DataAccessException {
int cnt = 0;
if (roadInspection == null) return getAllRoadInspections();
Criteria c = this.getSession().createCriteria(RoadInspection.class);
String defectDetail = roadInspection.getDefectDetail();
if (defectDetail != null){
if (defectDetail.trim().length() > 0){
c.add(Restrictions.like("defectDetail", "%" + defectDetail + "%"));
cnt++;
}
}
String roadName = roadInspection.getRoadName();
if (roadName != null){
if (roadName.trim().length() > 0){
c.add(Restrictions.like("roadname", "%" + roadName + "%"));
cnt++;
}
}
String location = roadInspection.getLocation();
if (location != null){
if (location.trim().length() > 0){
c.add(Restrictions.like("location", "%" + location + "%"));
cnt++;
}
}
String summary = roadInspection.getSummary();
if (summary != null){
if (summary.trim().length() > 0){
c.add(Restrictions.like("summary", "%" + summary + "%"));
cnt++;
}
}
String solution = roadInspection.getSolution();
if (solution != null){
if (solution.trim().length() > 0){
c.add(Restrictions.eq("solution", solution));
cnt++;
}
}
String defectType = roadInspection.getDefectType();
if (defectType != null){
if (defectType.trim().length() > 0){
c.add(Restrictions.eq("defectType", defectType));
cnt++;
}
}
String severity = roadInspection.getSeverity();
if (severity != null){
if (severity.trim().length() > 0){
c.add(Restrictions.eq("severity", severity));
cnt++;
}
}
Integer taskId = roadInspection.getTaskId();
if (taskId != null){
c.add(Restrictions.eq("taskId", taskId));
cnt++;
}
Integer roadDefectId = roadInspection.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.roadinspection.dao.RoadInspectionDAO#saveRoadInspection(mcaps.apps.prrm.roadinspection.model.RoadInspection)
*/
public void saveRoadInspection(RoadInspection roadInspection) throws DataAccessException {
getHibernateTemplate ().saveOrUpdate (roadInspection);
getHibernateTemplate ().flush ();
}
/* (non-Javadoc)
* @see mcaps.apps.prrm.roadinspection.dao.RoadInspectionDAO#removeRoadInspection(java.lang.Integer)
*/
public void removeRoadInspection(RoadInspection roadInspection) throws DataAccessException {
getHibernateTemplate ().delete (roadInspection);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?