SQL语言的布局和IllegalArgumentException
和java.lang.IllegalArgumentException: org.hibernate.QueryException: JPA-style positional param was not an integral ordinal战斗了半天,汗啊!
使用jpa + strut+ hibernate 就报org.hibernate.QueryException: JPA-style positional param was not an integral ordinal
一般把hql语句写在一行,会很长,在ide中需要拖动滚动条才能查看。为了方便阅读,故改成几行:
public List<Resource> getResourceByTag(Tag tag,int start) {
Query query = entityManager.createQuery(
"SELECT r from Resource r WHERE ?1" +
"IN (SELECT t from r.res_tags t)" +
"ORDER BY r.res_update_date DESC");
query.setParameter(1, tag);
query.setFirstResult(start);
query.setMaxResults(Constants.ITEMS_PER_PAGE);
return query.getResultList();
}
然后就报错ava.lang.IllegalArgumentException: org.hibernate.QueryException: JPA-style positional param was not an integral ordinal。
啊啊啊啊啊啊,sql中少了好几个空格,就在换行的地方
正确:
"from Resource r WHERE ?1 " +
"IN (from r.res_tags) " +
"ORDER BY r.res_update_date DESC");
无奈的教训!
相关文档:
在T-sql的写法上有很大的讲究,下面列出常见的要点:首先,DBMS处理查询计划的过程是这样的:
1、查询语句的词法、语法检查
2、将语句提交给DBMS的查询优化器
3、优化器做代数优化和存取路径的优化
4、由预编译模块生成查询规划
5、然后在合适的时间提交给系统处理执行
6、最后将执行结果返回给用户。
其次,看一下S ......
--在日常维护,开发中常遇到写一系列结构类型的sql语句,很烦很累其实可以
--利用SQL*PLUS环境命令 生成脚本文件
set heading off --关闭列的标题
set feedback off --关闭反馈信息
  ......
数据库备份实例/**
**数据库备份实例
**朱二 2004年5月
**备份策略:
**数据库名:test
**备份文件的路径e:\backup
**每个星期天凌晨1点做一次完全备份,为保险起见,备份到两个同样的完全备份文件test_full_A.bak和test_full_B.bak
**每天1点(除了星期天)做一次差异备份,分别备份到两个文件test_df_A.bak和test_df ......
无论您是一位 SQL 的新手,或是一位只是需要对 SQL 复习一下的资料仓储业界老将,您就来对地方了!
- SQL 指令: SQL 如何被用来储存、读取、以及处理数据库之中的资料。
- 表格处理: SQL 如何被用来处理数据库中的表格。
- SQL语法: 这一页列出所有在这个教材中被提到的 SQL 语法
SQL SELECT
Store_Information 表格 ......