vn.webapp.modules.mastermanagement.dao.mmSpecializationKeywordDAOImpl.java Source code

Java tutorial

Introduction

Here is the source code for vn.webapp.modules.mastermanagement.dao.mmSpecializationKeywordDAOImpl.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 vn.webapp.modules.mastermanagement.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Hibernate;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import vn.webapp.modules.mastermanagement.model.mmSpecializationKeyword;

@Repository("mmspecializationKeywordDAO")
@SuppressWarnings({ "unchecked", "rawtypes" })

public class mmSpecializationKeywordDAOImpl extends BaseDao implements mmSpecializationKeywordDAO {

    @Autowired
    private SessionFactory sessionFactory;

    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }

    /**
     * Get specialization keyword list
     * @param null
     * @return List
     */
    @Override
    public List<mmSpecializationKeyword> loadSpecializationKeywordList() {
        try {
            begin();
            Criteria criteria = getSession().createCriteria(mmSpecializationKeyword.class);
            List<mmSpecializationKeyword> specializationKeywordList = criteria.list();
            commit();
            return specializationKeywordList;
        } catch (HibernateException e) {
            e.printStackTrace();
            rollback();
            close();
            return null;
        } finally {
            flush();
            close();
        }
    }

    /**
     * Get specialization keyword list by scientific field
     * @param null
     * @return List
     */
    @Override
    public List<mmSpecializationKeyword> loadSpecializationKeywordByScientificField(String SCIF_Code) {
        try {
            begin();
            Criteria criteria = getSession().createCriteria(mmSpecializationKeyword.class, "specializationKeyword");
            criteria.add(Restrictions.eq("specializationKeyword.KW_ScientificFieldCode", SCIF_Code));
            List<mmSpecializationKeyword> specializationKeywordList = criteria.list();
            commit();
            return specializationKeywordList;
        } catch (HibernateException e) {
            e.printStackTrace();
            rollback();
            close();
            return null;
        } finally {
            flush();
            close();
        }
    }

    /**
     * Get specialization keyword list by code
     * @param null
     * @return List
     */
    @Override
    public mmSpecializationKeyword getSpecializationKeywordByCode(String KW_Code) {
        try {
            begin();
            Criteria criteria = getSession().createCriteria(mmSpecializationKeyword.class, "specializationKeyword");
            criteria.add(Restrictions.eq("specializationKeyword.KW_Code", KW_Code));
            List<mmSpecializationKeyword> specializationKeywordList = criteria.list();
            commit();
            if (specializationKeywordList != null) {
                return specializationKeywordList.get(0);
            } else
                return null;
        } catch (HibernateException e) {
            e.printStackTrace();
            rollback();
            close();
            return null;
        } finally {
            flush();
            close();
        }
    }

    @Override
    public List<mmSpecializationKeyword> loadStaffSpecializationKeywordList(String staffCode) {
        try {
            begin();
            SQLQuery q = getSession().createSQLQuery(
                    "SELECT DISTINCT KW_ID,KW_Code,KW_EngName,KW_VNName,KW_ScientificFieldCode FROM `tblspecializationkeywords` AS t1 JOIN (SELECT * FROM `tblstaffspecializationkeywords` WHERE STFKW_StaffCode = '"
                            + staffCode + "') AS t2 ON t1.KW_Code = t2.STFKW_KeywordCode");
            q.addEntity(mmSpecializationKeyword.class);
            commit();
            return q.list();
        } catch (HibernateException e) {
            e.printStackTrace();
            rollback();
            close();
            return null;
        } finally {
            flush();
            close();
        }
    }

    @Override
    public List<mmSpecializationKeyword> loadMasterThesisSpecializationKeywordList(String thesisCode) {
        try {
            begin();
            SQLQuery q = getSession().createSQLQuery(
                    "SELECT DISTINCT KW_ID,KW_Code,KW_EngName,KW_VNName,KW_ScientificFieldCode FROM `tblspecializationkeywords` AS t1 JOIN (SELECT * FROM `tblmasterthesisspecializationkeywords` WHERE MTKW_ThesisCode = '"
                            + thesisCode + "') AS t2 ON t1.KW_Code = t2.MTKW_KWCode");
            q.addEntity(mmSpecializationKeyword.class);
            commit();
            return q.list();
        } catch (HibernateException e) {
            e.printStackTrace();
            rollback();
            close();
            return null;
        } finally {
            flush();
            close();
        }
    }
}