0

为了防止 SQL 注入,我试图将动态查询转换为命名参数查询。但是,当我使用此代码时 -

String query = "from Ad a left join fetch a.adQueries left join fetch a.aduser u left join fetch u.profile where a.id =:identifier";
        Query q = s.createQuery(query);
        q.setParameter("identifier", id);

即使数据存在并且动态形式的相同查询返回数据,也不会从数据库返回数据

当我使用此代码时-

String query = "from Ad a left join fetch a.adQueries left join fetch a.aduser u left join fetch u.profile where a.id =:identifier";
        Query q = s.createQuery(query);
        q.setLong("identifier", id);

它抛出一个空指针异常..

请让我知道我哪里出错了

谢谢

4

1 回答 1

1

也许idnull,它会导致这样的行为。

于 2011-01-11T19:00:27.473 回答