休眠-我可以混合使用命名参数和位置参数吗?

莫那那罗:

我有一个查询字符串:

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最终版

亚历克斯·巴恩斯(Alex Barnes):

从以下类别的文档中org.hibernate.Query

您不能在同一查询中混合使用JDBC样式的参数和命名的参数。

因此,您所看到的行为是完全可以预期的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章