易截截图软件、单文件、免安装、纯绿色、仅160KB

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)

SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存不足
5、网络速度慢
6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
7、锁或者 ......

SQL中没用集合的minus,用union实现

列出TableA中有的而TableB中没有, 以及B中有而A中没有的记录:
其中两个表的结构相同,选择的Key可以多个
Select Key from
( select * from TableA
Union select * from TableB
)
group by Key
having count(Key)=1

列出TableA中有的而TableB中没有的记录:
Select Key from
( (select * from TableA
Un ......

sql语句基本操作

1.建表语句:create table
用法: create table 表的名字 (字段1, 字段2,。。。。)
举例:例如创建一个学生成绩表,包含的字段有,学生id,姓名,性别,班级,成绩create table score(
create table score(
 sid nvarchar(10) primary key,
 sname nvarchar(10) not null,
 sex nvarchar(2),
 sc ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号