2017-03-17 202 views
1

我有一個問題,如果我在IntelliJ IDEA中編寫代碼,當我遇到我想要調用的方法,但發現它已被棄用。但是IntelliJ IDEA並沒有提示信息參考找到替代方法,我怎麼能知道替代方法在哪裏?在IntelliJ IDEA中,哪裏可以找到棄用的方法的替代方法?

enter image description here

我的代碼也許有助於我的問題:

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

我碰上Query.class,對於alternatime方法沒有聲明過。因爲你用反編譯源工作,沒有更多的信息有

enter image description here

+0

javadoc理想地應該提到替代方案。否則,複製可能反編譯的實現通常會起作用。檢查層次結構會丟失更多信息。 –

+0

按CTRL + J查看JavaDoc,並且您應該在其中找到替代方法。 – Sudicode

回答

1

理念也幫不了你。如果您在頂部的黃色工具欄中選擇「下載...」,您最有可能獲得Hibernate的實際資源,並且您會看到類似於我在最新的GitHub版本Query.javaanother Query.java中看到的內容,這兩者都在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需要的一個東西是統一的「類型系統」視圖,包括它自己的類型系統(Type,EntityPersister,CollectionPersister等)和JPA的類型系統 - 這意味着統一所有這些在hibernate-core中。由於這一點以及6.0的其他重大變化,我們決定發佈一個5.2版本,它顯示了一個清晰的遷移路徑,可以在6.0版本中進行更改,但仍然儘可能支持較早的調用和期望。

相關問題