在IntelliJ IDEA中哪里可以找到已弃用的方法的替代方法?

时间:2017-03-17 17:17:29

标签: java intellij-idea deprecated

我有一个问题,如果我在IntelliJ IDEA中编写代码,遇到我想调用的方法,但发现它已被弃用。但IntelliJ IDEA没有提供警报信息参考找到替代方法,我怎么知道替代方法在哪里?

enter image description here

我的代码可能有助于我的问题:

sessionFactory.getCurrentSession().createQuery("from Admin where admin_name=? and pwd=?").setString();

我遇到了Query.class,也没有关于替代方法的陈述。

enter image description here

1 个答案:

答案 0 :(得分:1)

Idea无法帮助您,因为您使用反编译源并且没有其他信息。如果您选择"下载..."在顶部的黄色工具栏中,您最有可能获得Hibernate的实际来源,并且您会看到类似我在Query.javaanother 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中变化的明确迁移路径,但仍然尽可能地支持较旧的调用和期望。