Почему этот полиморфный запрос не работает?
String hql = """
FROM User u
WHERE
u.type.class = :typeClass
"""
return User.executeQuery(hql, [typeClass:Super])
все, что я получаю, это следующее исключение:
Stacktrace follows:
java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.Integer
....
Обновление Ошибка появляется только при попытке добавить класс в качестве именованного аргумента,Например, я не получаю сообщение об ошибке с этим кодом:
String hql = """
FROM User u
WHERE
u.type.class = Super
"""
return User.executeQuery(hql)
Update2
Эта проблема сбила меня с толку.И теперь я не хочу тратить на это больше времени.Вот что я закончил делать:
def typeClass = Super.class.name
String hql = """
FROM User u
WHERE
u.type.class = $typeClass
"""
return UserMedia.executeQuery(hql)
Действительно странно, независимо от того, что я делал, когда пытался передать class
или class.name
, я всегда получал ошибку.С и без многострочного шпунта.