JavaRush /Java Blog /Random-TW /冬眠傻瓜。《Java Persistence API 和 Hibernate》書評

冬眠傻瓜。《Java Persistence API 和 Hibernate》書評

在 Random-TW 群組發布
世界上大多數的技術文獻都是用英文寫的,這已不是什麼秘密。Java 開發也不例外 - 很大一部分材料要么根本沒有俄語版本,要么已經翻譯成最好使用谷歌翻譯來學習。對於整個俄語 Java 社群來說,關於這個主題最著名的書「Java Persistence API with Hibernate」大約六個月前被翻譯成俄語,這將是一件更加令人高興的事情。
冬眠傻瓜。 書評
如果您想成為 Java 開發人員 - 有一天您將必須學習使用Hibernate。當然,任何規則都有例外,這一切都取決於具體的項目等。但如果你從長遠來看你的職業生涯,在實際工作中你肯定會遇到這個庫。毫不誇張地說,本文中介紹的這本書可以稱為基礎書籍:在所有關於該技術的書籍中,它是 Hibernate 的主要指南。這很容易解釋,因為它的作者包括 Hibernate 專案的創始人 Gavin King 和 Hibarnate 開發團隊的成員 Christian Bauer。對我個人來說,這立即成為了品質的保證:即使不是技術的創造者,誰也善於探索技術:)另一方面,優秀的專家甚至技術的創造者並不總是如此。技術可以寫出一本簡單易懂的教育書籍。不管怎麼說,個人技能和教學能力幾乎沒有任何關聯。一個例子是高德納 (Knuth) 的傳奇《程式設計藝術》或其創始人 Bjarne Stroustrup 的《C++ 程式語言》。如果無法否認作者的最高層次知識,那麼溫和地說,他們的書就很難讀。幸運的是,Hibernate 的創建者和本書的作者創建了一個從新手程式設計師的角度來看非常容易理解的產品。 這本書的目標讀者: 像大多數類似的書一樣,摘要說它“適合所有人”,包括那些從頭開始學習 Hibernate 的人。其實還是在相關技術方面有一些前期的準備比較好。以下列出的一些事項將使您在閱讀本書時感到更加輕鬆。
  1. 如果您不知道什麼是關聯式資料庫,則無法建立表格或編寫簡單的 SELECT 查詢等。- 最好從這個開始。順便說一句,這對於計劃參加 JavaRush 實習的人來說會很有用。從 SQL 開始,然後是 Hibernate。幸運的是,一篇優秀的 Head-First是用 SQL 編寫的(就我的口味而言,這是整個系列中最好的 HeadFirst 之一)。

  2. 資料庫連線。該技術遠非新技術,但許多經驗豐富的開發人員仍然更喜歡它而不是 Hibernate。

  3. 之後,最好(至少從表面上)了解ORM 是什麼以及為什麼需要它。畢竟,Hibernate 首先也是最重要的一個 ORM,即將 Java 物件轉換為資料庫記錄的東西(反之亦然)。

    例如,您有一個 User 類別、一個 Auto 類,每個 User 都有一個其汽車清單 List<Auto> autos。

    如何將所有這些記錄在資料庫中,以便保留使用者與其電腦之間的連接?畢竟只有一個用戶,但他可以擁有很多台機器:/ 如果我們自己刪除用戶,如何自動從資料庫中刪除該用戶的所有機器(即禁止資料庫儲存「孤立」機器)?Hibernate 只知道如何做:)

  4. 此外,Java 有自己的 ORM 模型實作 - Java Persistence API,或簡稱 JPA。書中也有討論,但最好先瀏覽一下。您不需要閱讀大量有關該主題的文獻:如果您知道 POJO、實體是什麼,以及適用於實體的要求,那就太好了。

  5. 如果您不熟悉XML 格式,那麼在閱讀本書之前應該先熟悉它。很多時候,Hibernate(以及 Spring)設定檔都是用 XML 格式寫的,如果它讓你感到害怕,那麼閱讀這本書就會變得更加困難。

  6. 如果您熟悉設計模式(至少熟悉 JavaRush 任務),那麼您可以閱讀有關DAO 模式以及為什麼需要它的資訊。使用 Hibernate 很容易實現 DAO。順便說一句,實習參與者在編寫測試任務時(以及專案本身)將創建「daos」。而在實際工作中,創建它們是一項例行任務,因此不會是多餘的。

初步熟悉上述所有內容將大大簡化您的學習(正如他們所說,在工作中,這是必須的)。總之 - 恕我直言,關於這本書的優點和缺點。 優點:
  • 相當不錯的英文翻譯。我認為不值得單獨寫這一點的重要性。當然,原著總是更好,如果你英語能力足夠的話,最好閱讀它。然而,對於那些對英語還不太熟悉,但又不想因此而停止學習的人來說,這是一個很好的選擇。

  • 話題涵蓋範圍非常廣。幾乎描述了圖書館的所有“內部”。關於一些非常詳細的事情,關於一些更謹慎的事情。但整體而言,覆蓋範圍相當不錯。

  • 語言簡單易懂

對於缺點,我只能強調一些例子。在我看來,它們可以更簡單、更簡潔。考慮到讀者面臨的新資訊量很大,對於初學者來說,僅僅編譯並使整個內容發揮作用可能會很困難。更不用說理解程式碼中發生了什麼。我個人建議您不要費心從 GitHub 克隆範例並自行輸入它們。你會掌握它的竅門,你的理解也會更好。更好的是,在閱讀下一章後,自己提出並實施一些任務。即使任務非常簡單,這也會提高工作效率。 這本書值得買嗎?絕對是的。而且,它的紙本發行量只有200份:)根據這本書的資料,我很容易寫出了我的第一篇關於Habrahabr的文章。在我看來,JavaRush 管理部門絕對應該將其添加到他們的競賽獎項清單中:) 感謝您的關注,祝您學習順利!
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION