Java DataException无法执行查询
嗨,我在执行以下查询时收到DataException:Java DataException无法执行查询,java,hibernate,postgresql,Java,Hibernate,Postgresql,嗨,我在执行以下查询时收到DataException: GET_USERLIST_BY_GROUP1 = " SELECT usr.user_id, usr.login_name FROM user_info usr WHERE usr.user_id IN (SELECT g.user_id FROM group_privilege_details g WHERE g.group_id IN (SELECT gp.group
GET_USERLIST_BY_GROUP1 = " SELECT usr.user_id,
usr.login_name
FROM user_info usr
WHERE usr.user_id IN
(SELECT g.user_id
FROM group_privilege_details g
WHERE g.group_id IN
(SELECT gp.group_id
FROM group_privilege_details gp,
user_info u
WHERE u.user_id=gp.user_id
AND u.login_name=?)
GROUP BY g.user_id HAVING count(g.group_id) =
(SELECT count(g.group_id)
FROM group_privilege_details gr,
user_info us
WHERE us.user_id=gr.user_id
AND us.login_name=?))
AND usr.login_name!=?"
请查找hibernate代码:
qry = hiberSession.createSQLQuery(GET_USERLIST_BY_GROUP1);
qry.setParameter(0, argUsername);
qry.setParameter(1, argUsername);
qry.setParameter(2, argUsername);
lstUsernamebyGroup = qry.list();
请找出我的例外:
2011-10-22 12:42:55,352 INFO [STDOUT] (http-10.128.15.228-8080-5) org.hibernate.exception.DataException: could not execute query
2011-10-22 12:42:55,352 INFO [STDOUT] (http-10.128.15.228-8080-5) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:77)
2011-10-22 12:42:55,352 INFO [STDOUT] (http-10.128.15.228-8080-5) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
2011-10-22 12:42:55,353 INFO [STDOUT] (http-10.128.15.228-8080-5) at org.hibernate.loader.Loader.doList(Loader.java:2223)
2011-10-22 12:42:55,353 INFO [STDOUT] (http-10.128.15.228-8080-5) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
2011-10-22 12:42:55,353 INFO [STDOUT] (http-10.128.15.228-8080-5) at org.hibernate.loader.Loader.list(Loader.java:2099)
2011-10-22 12:42:55,354 INFO [STDOUT] (http-10.128.15.228-8080-5) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
2011-10-22 12:42:55,354 INFO [STDOUT] (http-10.128.15.228-8080-5) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
2011-10-22 12:42:55,354 INFO [STDOUT] (http-10.128.15.228-8080-5) at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
2011-10-22 12:42:55,355 INFO [STDOUT] (http-10.128.15.228-8080-5) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
2011-10-22 12:42:55,355 INFO [STDOUT] (http-10.128.15.228-8080-5) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
我看到的唯一一点与您的SQL稍有出入的是,您使用“!=”表示不相等。正式的非相等SQL运算符为“”。Postgres也支持“!=”,但Hibernate在这方面可能有问题。您丢失了异常消息,这无疑会解释问题所在……是否没有嵌套异常?我希望会有。。。