我有一个查询字符串:
session.createSQLQuery("SELECT C.FIRSTNAME AS firstName, C.LASTNAME as lastName FROM ADDRESSBOOK_CONTACT AS C WHERE C.ADDRESSBOOK_ID = :addressbookId AND firstName = ?");
设置我的位置参数时,查询正常运行,但没有结果:
query.setParameter(0, "firstname1010");
query.setParameter("addressbookId", addressbook.getId());
错了 如果我将位置更改为named:
query.setParameter(firstname, "firstname1010");
然后我的查询返回正确的结果。
关于我为什么要进行复杂的解释,我想知道是否应该支持两种类型的混合?我正在使用休眠3.6.3最终版
从以下类别的文档中org.hibernate.Query
:
您不能在同一查询中混合使用JDBC样式的参数和命名的参数。
因此,您所看到的行为是完全可以预期的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句