我有一个问题,如果我在IntelliJ IDEA中编写代码,遇到我想调用的方法,但发现它已被弃用。但IntelliJ IDEA没有提供警报信息参考找到替代方法,我怎么知道替代方法在哪里?
我的代码可能有助于我的问题:
sessionFactory.getCurrentSession().createQuery("from Admin where admin_name=? and pwd=?").setString();
我遇到了Query.class
,也没有关于替代方法的陈述。
答案 0 :(得分:1)
Idea无法帮助您,因为您使用反编译源并且没有其他信息。如果您选择"下载..."在顶部的黄色工具栏中,您最有可能获得Hibernate的实际来源,并且您会看到类似我在Query.java或another Query.java的最新GitHub版本中看到的内容在JavaDoc正上方的相应方法中说
* @deprecated (since 5.2) use {@link #setParameter(int, Object)} or {@link #setParameter(int, Object, Type)}
* instead
至于为什么这些方法被弃用,我认为Migration Guide 5.2提供了一些见解:
6.0已经完成了很多工作。 6.0需要的一个东西是对#34;类型系统的统一视图"包括它自己的类型系统(Type,EntityPersister,CollectionPersister等)和JPA的类型系统 - 这意味着在hibernate-core中统一所有这些。由于这个以及6.0的其他重大变化,我们决定发布一个5.2,它显示了6.0中变化的明确迁移路径,但仍然尽可能地支持较旧的调用和期望。