JavaRush /Java 博客 /Random-ZH /冬眠傻瓜。《Java Persistence API 和 Hibernate》书评

冬眠傻瓜。《Java Persistence API 和 Hibernate》书评

已在 Random-ZH 群组中发布
世界上大多数技术文献都是用英语写的,这已不是什么秘密。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