⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timesheetmanager.java

📁 Java 敏捷开发--使用Spring Hibernate 和 Eclipse源码
💻 JAVA
字号:
package com.visualpatterns.timex.model;

import java.util.Date;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.LockMode;
import org.hibernate.Session;
import com.visualpatterns.timex.util.HibernateUtil;

/**
 * Manages database operations for Timesheet table.
 * @author anil
 */
public class TimesheetManager
{
    /**
     * Returns list of all timesheet database records with matching 
     * employeeId.
     */
    public List getTimesheets(int employeeId)
    {
        List timesheetList = null;

        Session session = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        session.beginTransaction();
        try
        {
            timesheetList = session.createQuery(
                    "from Timesheet" + " where employeeId = ?").setInteger(0,
                    employeeId).list();
            session.getTransaction().commit();
        }
        catch (HibernateException e)
        {
            session.getTransaction().rollback();
            throw e;
        }

        return timesheetList;
    }

    /**
     * Returns Timesheet database record with matching employeeId and
     * periodEndingDate.
     */
    public Timesheet getTimesheet(int employeeId, Date periodEndingDate)
    {
        Timesheet timesheet = null;

        Session session = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        session.beginTransaction();
        try
        {
            timesheet = (Timesheet) session.createQuery(
                    "from Timesheet" + " where employeeId = ?"
                            + " and periodEndingDate = ?").setInteger(0,
                    employeeId).setDate(1, periodEndingDate).uniqueResult();
            session.getTransaction().commit();
        }
        catch (HibernateException e)
        {
            session.getTransaction().rollback();
            throw e;
        }

        return timesheet;
    }

    /**
     * Saves a Timesheet object.
     */
    public void saveTimesheet(Timesheet timesheet)
    {
        Session session = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        session.beginTransaction();
        try
        {
            session.saveOrUpdate(timesheet);
            session.getTransaction().commit();
        }
        catch (HibernateException e)
        {
            session.getTransaction().rollback();
            throw e;
        }
    }

    /**
     * Returns list of all timesheet database records sorted by timesheetId
     */
    public List getTimesheets()
    {
        List timesheetList = null;
        Session session = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        session.beginTransaction();
        try
        {
            timesheetList = session.createQuery(
                    "from Timesheet ORDER BY timesheetId").list();
            session.getTransaction().commit();
        }
        catch (HibernateException e)
        {
            session.getTransaction().rollback();
            throw e;
        }

        return timesheetList;
    }

    /**
     * Deletes Timesheet record with matching timeSheetId 
     */
    public void deleteTimesheet(int timesheetId)
    {
        Session session = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        session.beginTransaction();
        try
        {
            session.delete(session.load(Timesheet.class, new Integer(
                    timesheetId)));
            session.flush();
            session.getTransaction().commit();
        }
        catch (HibernateException e)
        {
            session.getTransaction().rollback();
            throw e;
        }
    }

    /**
     * Returns a database Timesheet record with matching timesheetId
     * and demonstrates how a record can be locked using Hibernate.
     */
    public Timesheet getTimesheet(int timesheetId, boolean doLock)
    {
        Session session = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        session.beginTransaction();
        Timesheet timesheet = null;
        try
        {
            if (doLock)
                timesheet = (Timesheet) session.get(Timesheet.class,
                        new Integer(timesheetId), LockMode.UPGRADE);
            else
                timesheet = (Timesheet) session.get(Timesheet.class,
                        new Integer(timesheetId));
            session.getTransaction().commit();
        }
        catch (HibernateException e)
        {
            session.getTransaction().rollback();
            throw e;
        }

        return timesheet;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -