com.qfix.vms.dao.impl.RequestDaoImpl.java Source code

Java tutorial

Introduction

Here is the source code for com.qfix.vms.dao.impl.RequestDaoImpl.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.qfix.vms.dao.impl;

import com.qfix.vms.dao.AbstractDao;
import com.qfix.vms.dao.RequestDao;
import com.qfix.vms.model.Request;
import com.qfix.vms.model.User;
import java.io.Serializable;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

/**
 *
 * @author M Asha Madushani
 */

@Repository
public class RequestDaoImpl extends AbstractDao<Serializable, Request> implements RequestDao {

    @Override
    public void saveRequest(Request request) {
        persist(request);
    }

    @Override
    public Request getRequestByID(int id) {
        return getByKey(id);
    }

    @Override
    public void deleteRequest(Request request) {
        delete(request);
    }

    @Override
    public void updateRequest(Request request) {
        update(request);
    }

    @Override
    public List<Request> getRequestList() {
        Criteria criteria = createEntityCriteria();
        return (List<Request>) criteria.list();
    }

    @Override
    public List<Request> getMyRequestList(User user) {
        Session session = sessionFactory.openSession();
        Transaction tx = null;

        tx = session.beginTransaction();
        Criteria cr = session.createCriteria(Request.class);

        cr.add(Restrictions.and(Restrictions.eq("user", user), Restrictions.eq("user", user)));

        List requests = cr.list();
        return requests;
    }

    @Override
    public List<Request> getRecommend(User user) {
        Session session = sessionFactory.openSession();
        Transaction tx = null;

        tx = session.beginTransaction();
        Criteria cr = session.createCriteria(Request.class);

        cr.add(Restrictions.eq("department", user.getDepartment()));
        List requests = cr.list();
        return requests;
    }

}