微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用弃用警告修复Hibernate查询?

如何解决如何使用弃用警告修复Hibernate查询?

如消息所示,请改用命名参数。

List users = sessionFactory.getCurrentSession()
        .createquery( "from User where username = :username" )
        .setString( "username", username )
        .list();

解决方法

有人知道如何避免以下代码的下一个警告吗?

org.hibernate.hql.internal.ast.HqlSqlWalker [HqlSqlWalker.java:929] [DEPRECATION] Encountered positional parameter near line 1,column 56.  Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
Hibernate: select user0_.ID_USER as ID1_0_,user0_.USERNAME as USERNAME0_,user0_.PASSWORD as PASSWORD0_ from USER user0_ where user0_.USERNAME=?
Hibernate: select authoritie0_.ID_USER as ID1_0_1_,authoritie0_.ID_ROLE as ID2_1_,role1_.ID_ROLE as ID1_2_0_,role1_.NOMBRE as NOMBRE2_0_,role1_.DESCRIPCION as DESCRIPC3_2_0_ from USER_ROLE authoritie0_ inner join ROLE role1_ on authoritie0_.ID_ROLE=role1_.ID_ROLE where authoritie0_.ID_USER=?

Query query = sessionFactory.getCurrentSession().createQuery("from User where username=?");
query.setString(0,username);   
List<User> users = query.list();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。