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;
}
}
herbnate session.createSQLQuery(sql) 和 session.createQuery(sql)使用的更多相关文章
- hibernate session.createSQLQuery(sql); 通过命令删除
@Override public boolean deleteBySql(String sql) { Session session = getSession(); @SuppressWarnings ...
- Hibernate的session.createSQLQuery的几种查询方式
当我们用HQL进行子查询的时候,如select * from Tree where pid in (select id from Tree,此时HIBERANTE就会报错,说什么*号错误之类的.但如果 ...
- 懒加载session 无法打开 no session or session was closed 解决办法(完美解决)
首先说明一下,hibernate的延迟加载特性(lazy).所谓的延迟加载就是当真正需要查询数据时才执行数据加载操作.因为hibernate当中支持实体对象,外键会与实体对象关联起来.如 ...
- Hibernate之Session缓存以及操作Session缓存的相关方法
1.Session概述 A.Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法. B. Sessio ...
- 在SQL中使用PL/SQL函数存在的问题
-----------------------------Cryking原创------------------------------ -----------------------转载请注明出处, ...
- .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. ...
- Oracle中SQL调优(SQL TUNING)之最权威获取SQL执行计划大全
该文档为根据相关资料整理.总结而成,主要讲解Oracle数据库中,获取SQL语句执行计划的最权威.最正确的方法.步骤,此外,还详细说明了每种方法中可选项的意义及使用方法,以方便大家和自己日常工作中查阅 ...
- 大数据技术之_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 ...
- 安装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 ...
随机推荐
- [SE0]简单的搜索引擎原理
1.简单了解搜索引擎收录的原理 包括baidu. google .yahoo 在内的各大搜索引擎在内基本上搜录网站的原理大致相同(除了国内某些网站 网1新 l 等采取人工登记的办法),搜索引擎都是采 ...
- bug: 在缓存行高时,总是记录错误.
一,现象: 1.在 cell 中添加了一个 label, 并对 label 设置了 attributeText, 结果滑动的过程中,cell 的高度总是不对,多次出现下一个 cell 覆盖上一个 ce ...
- Rust语言的多线程编程
我写这篇短文的时候,正值Rust1.0发布不久,严格来说这是一门兼具C语言的执行效率和Java的开发效率的强大语言,它的所有权机制竟然让你无法写出线程不安全的代码,它是一门可以用来写操作系统的系统级语 ...
- javaweb学习记录(1)
Java基础学习笔录 1.运行java程序,出现bad version number in.class file 编译器()的版本号高于运行环境(jre)的版本号,可以降低编译器版本号,也可以通过提升 ...
- div 添加滚动条
<div id="dic" style="overflow:auto">
- jsp页面 如何通过el表达式获取request属性值
1. 我在一个超连接后加个参数如: http://localhost:8080/test/testjstl.jsp?pid=001 此时在jsp页面中,获取jsp传过来的pid的参数值 ...
- Dertouzos (5750)
Dertouzos 题意: 就是给一个n和一个d,问有多少个小于n的数的最大因子是d. 分析: 如果一个数是质数,又和d互质,它们的乘积在范围内的话显然是满足条件的, 如果这个质数和d不互质,那么如果 ...
- innerHTML on ie6-9
https://msdn.microsoft.com/en-us/library/ms533897(VS.85).aspx The innerHTML property is read-only on ...
- numpy数组的操作
numpy - 介绍.基本数据类型.多维数组ndarray及其内建函数 http://blog.csdn.net/pipisorry/article/details/22107553 http://w ...
- 小知识 安卓线程和ui
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...