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;
}
}

herbnate session.createSQLQuery(sql) 和 session.createQuery(sql)使用的更多相关文章

  1. hibernate session.createSQLQuery(sql); 通过命令删除

    @Override public boolean deleteBySql(String sql) { Session session = getSession(); @SuppressWarnings ...

  2. Hibernate的session.createSQLQuery的几种查询方式

    当我们用HQL进行子查询的时候,如select * from Tree where pid in (select id from Tree,此时HIBERANTE就会报错,说什么*号错误之类的.但如果 ...

  3. 懒加载session 无法打开 no session or session was closed 解决办法(完美解决)

           首先说明一下,hibernate的延迟加载特性(lazy).所谓的延迟加载就是当真正需要查询数据时才执行数据加载操作.因为hibernate当中支持实体对象,外键会与实体对象关联起来.如 ...

  4. Hibernate之Session缓存以及操作Session缓存的相关方法

    1.Session概述 A.Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法. B. Sessio ...

  5. 在SQL中使用PL/SQL函数存在的问题

    -----------------------------Cryking原创------------------------------ -----------------------转载请注明出处, ...

  6. .Net程序员学用Oracle系列(28):PLSQL 之SQL分类和动态SQL

    1.SQL 语句分类 1.1.分类方法及类型 1.2.数据定义语言 1.3.数据操纵语言 1.4.其它语句 2.动态 SQL 理论 2.1.动态 SQL 的用途 2.2.动态 SQL 的语法 2.3. ...

  7. Oracle中SQL调优(SQL TUNING)之最权威获取SQL执行计划大全

    该文档为根据相关资料整理.总结而成,主要讲解Oracle数据库中,获取SQL语句执行计划的最权威.最正确的方法.步骤,此外,还详细说明了每种方法中可选项的意义及使用方法,以方便大家和自己日常工作中查阅 ...

  8. 大数据技术之_19_Spark学习_03_Spark SQL 应用解析 + Spark SQL 概述、解析 、数据源、实战 + 执行 Spark SQL 查询 + JDBC/ODBC 服务器

    第1章 Spark SQL 概述1.1 什么是 Spark SQL1.2 RDD vs DataFrames vs DataSet1.2.1 RDD1.2.2 DataFrame1.2.3 DataS ...

  9. 安装SQL server 2008 R2和QL server 2008,与SQL server 2008升级SQL server 2008 R2

    安装SQL server 2008 R2和由SQL server 2008升级SQL server 2008 R2 前提条件: 由SQL server2008 升级SQL server2008 R2 ...

随机推荐

  1. compass typography 排版 常用排版方法[Sass和compass学习笔记]

    Bullets 用来定义ul li 相关的样式 no-bullet  关闭 li的默认样式 那个小圆点 no-bullets 作用域ul 调用no-bullet 函数 不过用了reset 后 默认没有 ...

  2. 如何删除 eclipse debugger 下不用的Java Application

    问题描述:之前写了几个 main 函数 用于测试,现在删除掉了 但是debugger下还存在,看着不爽,想删掉 解决方案: 1.项目--右键 2.删掉就可以了

  3. problem-eclipse创建maven项目报错

    Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of ...

  4. php安装配置那些事(本文纯属个人记事与技术无关)

    上周由于项目需要,又拿起了三年没动过的php,从安装环境到配置,大体已经忘干净,于是咨询同学问度娘,终于在我的win7系统下安装了xampp的集成环境+NetBeans IDE 8.0,于是导入项目文 ...

  5. Jenkins部署配置简介

    前段时间研究了一下自动化测试,因而接触到了Jenkins,今天有时间进行一下Jenkins部署配置相关知识的总结分享 前言:由于本次只是实验性研究,采用Windows环境,因此Jenkins可以通过下 ...

  6. form data和request payload的区别

    HTML <form> 标签的 enctype 属性 在下面的例子中,表单数据会在未编码的情况下进行发送: <form action="form_action.asp&qu ...

  7. properties文件使用{0}...

    例如properties文件的配置 weixin.token.url=https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credent ...

  8. $Host.Runspace.ThreadOptions = “ReuseThread”有神马用?

    $Host.Runspace.ThreadOptions = “ReuseThread” 在很多PowerShell的脚本中你都会看到这个语句被用来开头,那它的作用是什么呢? 答:这个设置可以提高对内 ...

  9. 微信支付开发demo

    微信支付的时候,发红包部分的demo,在curl部分还要加上 curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true); curl_setopt($ch,CURLOPT ...

  10. .NET Core 跨平台发布(dotnet publish)

    .NET Core 跨平台发布(dotnet publish) ,无需安装.NET Core SDK,就可以运行. 前面讲解了.NET Core 的VSCode 开发.现在来讲讲发布(dotnet p ...