用hibernate做数据库操作的底层,一般不建议使用字符串的拼接。都建议使用占位符:name或?来setParamater。这样能防止SQL注入,我看了看源码有没有处理SQL关键词这样的操作,Filet Query对象子类好像没看到有处理这些SQL关键词的地方,我也没看太懂,有点晕。
问下大牛们,谁知道hibernate在那个类的哪个方法有处理些这个的地方还是我压根就理解错了,指点下thx。
问下大牛们,谁知道hibernate在那个类的哪个方法有处理些这个的地方还是我压根就理解错了,指点下thx。
而是防止拼接SQL的时候执行其它语句或条件不是你想要的
lz搜索下什么是SQL注入就明白了
假如userId用户输入个userId=xxxx' or 'aa'='aHQL: "FROM FUser WHERE userId ='"+userId+"'";这是拼接的sql
出来的是 FROM FUser WHERE userId ='xxxx' or 'aa'='aa'HQL2:"FROM FUser WHERE userId =:userId"; 占位符的sql
hibernate转换之后出来的是否是:FROM FUser WHERE userId ='xxxx' or 'aa'='aa'吗?能告诉我hibernate的哪个类做了此操作的