在休眠中执行查询时出错
Getting error in executequery in hibernate
我在控制器内部的 grails 中编写了一个 hql 查询,在执行它时出现错误,例如
unexpected token: where near line 1, column 166 [FROM com.ashwin.Training tr where tr.id NOT IN (SELECT t.training_id from com.ashwin.User u INNER JOIN com.ashwin.TrainUser t on u.id=t.user_id where u.id=t.user_id where u.id=:uid)]".
我的 Hibernate 查询是
def currentUser = springSecurityService.currentUser.id
def trainingList=Training.executeQuery("FROM Training tr where tr.id NOT IN (SELECT t.training_id from User u INNER JOIN TrainUser t on u.id=t.user_id where u.id=t.user_id where u.id=:uid)",[uid:currentUser])
[trainingLists:trainingList]
在内部 select 你有这个
t on u.id=t.user_id where u.id=t.user_id where u.id=:uid
Double哪里不对。而且您已经定义了连接规则。所以正确的说法是
FROM Training tr where tr.id NOT IN
(SELECT t.training_id from User u INNER JOIN TrainUser t
on u.id=t.user_id where u.id=:uid)
我在控制器内部的 grails 中编写了一个 hql 查询,在执行它时出现错误,例如
unexpected token: where near line 1, column 166 [FROM com.ashwin.Training tr where tr.id NOT IN (SELECT t.training_id from com.ashwin.User u INNER JOIN com.ashwin.TrainUser t on u.id=t.user_id where u.id=t.user_id where u.id=:uid)]".
我的 Hibernate 查询是
def currentUser = springSecurityService.currentUser.id
def trainingList=Training.executeQuery("FROM Training tr where tr.id NOT IN (SELECT t.training_id from User u INNER JOIN TrainUser t on u.id=t.user_id where u.id=t.user_id where u.id=:uid)",[uid:currentUser])
[trainingLists:trainingList]
在内部 select 你有这个
t on u.id=t.user_id where u.id=t.user_id where u.id=:uid
Double哪里不对。而且您已经定义了连接规则。所以正确的说法是
FROM Training tr where tr.id NOT IN
(SELECT t.training_id from User u INNER JOIN TrainUser t
on u.id=t.user_id where u.id=:uid)