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

简介: public class DistributeDao implements Serializable{ private SessionFactory sessionFactory; public Session getSession() { return sessionFactory.
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; } }

 

目录
相关文章
|
3月前
|
SQL 存储 关系型数据库
什么是SQL?
什么是SQL?
24 0
|
4月前
|
SQL HIVE
每天一道大厂SQL题
每天一道大厂SQL题
32 1
每天一道大厂SQL题
|
1月前
|
SQL 关系型数据库 MySQL
|
3月前
|
SQL 数据库 索引
八、SQL-Limite
八、SQL-Limite
24 0
|
9月前
|
SQL 程序员 数据库
sql 总结
一对多:在多的表中添加建立关系的字段(外键)指向另外一张表。如果需要查询一张表的全部和另外一张表的交集时,使用外连接,连表查询(左外连接)(显示左表的全部信息和右表相关联的信。连表查询(右外连接)(显示右表的全部信息和左表相关联的信。等值连接和内连接查询的是两个表的交集数据,推荐使用内连接。:选择插入必须选择需要插入的字段,选择对应字段的值,批量。查询所有部门的名称,地点和对应的员工姓名和工资。等值连接和内连接查询到的都是两张表的交集数据。外连接查询的是一张表的全部和另外一张表的交集。
85 0
|
SQL 数据挖掘 Python
sql8&10&11&12,3+1
sql8&10&11&12,3+1
sql8&10&11&12,3+1
|
SQL 数据库
了解SQL
了解SQL
93 0
|
SQL 存储 缓存
或许你不知道的12条SQL技巧
或许你不知道的12条SQL技巧
|
SQL
[20171110]sql语句相同sql_id可以不同吗
[20171110]sql语句相同sql_id可以不同吗.txt --//提一个问题,就是sql语句相同sql_id可以不同吗? --//使用dbms_shared_pool.
1225 0