herbnate session.createSQLQuery(sql) 和 session.createQuery(sql)使用

public class DistributeDao implements Serializable{
    private SessionFactory sessionFactory;  
    
    public Session getSession() {  
        return sessionFactory.getCurrentSession();  
    }  
  
    public SessionFactory getSessionFactory() {  
        return sessionFactory;  
    }  
  
    public void setSessionFactory(SessionFactory sessionFactory) {  
        this.sessionFactory = sessionFactory;  
    }  
    
    public Task getTask(Integer id) {
        Session session = this.getSession();
        Transaction tran = session.beginTransaction();
        List<Task> datas = session.createQuery("from  TestMessage").list();//TestMessage是一个java类,这个类和某一个表对应!
        tran.commit();
        return datas.get(id);
    }

    public void saveTask(Task task) {
        Session session = this.getSession();
        Transaction tran = session.beginTransaction();
        session.save(task); 
        tran.commit();
    }

    public List<Task> findAllTask() {
        Session session = this.getSession();
        Transaction tran = session.beginTransaction();
        List<Task> datas = session.createQuery("from Task").list();
        tran.commit();
        return datas;
    }
    
    public List<Task> findAllFinishedTask() {
        Session session = this.getSession();
        Transaction tran = session.beginTransaction();
        List<Task> datas = session.createQuery("from Task where state=2").list();
        tran.commit();
        return datas;
    }
    
    public List<Task> findUserTaskFinish(String developName){
        Session session = this.getSession();
        Transaction tran = session.beginTransaction();
        String sql="select * from task where task.taskid in (select taskteam.taskid from taskteam where taskteam.developName=\'" + developName + "\') and task.state=2";
        List<Task> datas = (List<Task>)session.createSQLQuery(sql).addEntity(Task.class).list();
        tran.commit();
        return datas;
    }
    
    public List<Task> findUserTaskNoParticipateTask(String developName){
        Session session = this.getSession();
        Transaction tran = session.beginTransaction();
        String sql="select * from task where task.taskid not in (select taskteam.taskid from taskteam where developName=\'" + developName + "\')";
        List<Task> datas = (List<Task>)session.createSQLQuery(sql).addEntity(Task.class).list();//必须有addEntity()方法,否则不能
                                                           //返回具体的类型,其实返回的是Object tran.commit();
return datas; } public List<Task> findUserTaskParticipating(String developName){ Session session = this.getSession(); Transaction tran = session.beginTransaction(); String sql="select * from task where task.taskid in (select taskteam.taskid from taskteam where developName=\'" + developName + "\') and task.state=1"; List<Task> datas = (List<Task>)session.createSQLQuery(sql).addEntity(Task.class).list(); tran.commit(); return datas; } public List<DevelopingParty> findTaskAllUser(int taskid){ Session session = this.getSession(); Transaction tran = session.beginTransaction(); String sql="select * from developingparty where developingparty.developName in (select taskteam.developingparty from taskteam where taskteam.taskid=" + taskid + ")"; List<DevelopingParty> datas = session.createSQLQuery(sql).addEntity(DevelopingParty.class).list(); tran.commit(); return datas; } }

 

转载于:https://www.cnblogs.com/hujunzheng/p/4587330.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值