解决Hibernate的sql语句出现Legacy-style query parameters (`?`)的问题

在hibernate-release-5.4.10.Final的这个版本中,进行这个SQL语句进行操作时,

String hql = "from Customer where cust_name like ?";

编译执行会出现

Legacy-style query parameters (`?`) are no longer supported; use JPA-style ordinal parameters (e.g., `?1`) instead : from com.itheima.hibernate.demo1.Customer where cust_name like ? [from com.itheima.hibernate.demo1.Customer where cust_name like ?]

这种情况只需要String hql = "from Customer where cust_name like ?0";在 ? 后面加上你与之配对的索引,而我的执行语句是 query.setParameter(0, "王%");这样就可以解决上述的问题。

发布了12 篇原创文章 · 获赞 0 · 访问量 276

猜你喜欢

转载自blog.csdn.net/weixin_45488363/article/details/104997420