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");
无奈的教训!
相关文档:
SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存不足
5、网络速度慢
6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
7、锁或者 ......
原文:刘武| 常用的ORACLE PL/SQL管理命令一
熟悉ORACLE管理的一定对这些命令不会陌生,不过对于我这个刚接触ORACLE管理的来说,还是有必要做下记录,以便随时查看。
一 登录SQLPLUS
sqlplus 用户名/密码@数据库实例 as 登录角色;
如:用户sys(密码为123)以sysdba的角色登录数据库ORACL,我们可以输入:sqlplus sy ......
--在日常维护,开发中常遇到写一系列结构类型的sql语句,很烦很累其实可以
--利用SQL*PLUS环境命令 生成脚本文件
set heading off --关闭列的标题
set feedback off --关闭反馈信息
  ......
create function dbo.F_Get_No
(
@No varchar(100)
)
RETURNS bigint
AS
BEGIN
WHILE PATINDEX('%[^0-9]%',@No)>0
BEGIN
SET @No=STUFF(@No,PATINDEX('%[^0-9]%',@No),1,'') --删掉一个非数字的字符,循环结束,剩余的为数字部分
END
RETURN CONVERT(bigint,@No ......
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database db ......