Java 没有春天冬眠有意义吗?

Java 没有春天冬眠有意义吗?,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,几年前,我开始“学习”并使用JAVA(我必须说我是一名嵌入式开发人员,所以我主要使用C和C++) 最近我开始使用数据库,所以偶然发现了Hibernate。我读了一些关于这个主题的入门指南和书籍,并开始玩一些小项目 在互联网上冲浪(包括Stackoverflow)我只看到过包含Hibernate/JPA+Spring[+Struts]的项目 我正在设计一个相当大的个人项目。我想“一步一步”地完成它,以便了解它所暗示的所有部分:DB、Hibernate(我想先使用hbm.xml,然后使用注释),制作

几年前,我开始“学习”并使用JAVA(我必须说我是一名嵌入式开发人员,所以我主要使用C和C++)

最近我开始使用数据库,所以偶然发现了Hibernate。我读了一些关于这个主题的入门指南和书籍,并开始玩一些小项目

在互联网上冲浪(包括Stackoverflow)我只看到过包含Hibernate/JPA+Spring[+Struts]的项目

我正在设计一个相当大的个人项目。我想“一步一步”地完成它,以便了解它所暗示的所有部分:DB、Hibernate(我想先使用hbm.xml,然后使用注释),制作一个简单的独立swing应用程序,然后使用Spring+web页面

也许我的问题有点愚蠢,但无论如何我都会问

没有春天冬眠有意义吗?

当我阅读Spring时,是否应该继续使用Hibernate多玩一会儿,然后使用这两种技术开发项目

我在这个项目中的唯一目标是学习。不多不少。我不在乎努力


非常感谢你的意见!我很感激

是的,Hibernate在没有Spring的情况下有意义,但在Spring的情况下更有意义:)

因为您已经学习了Hibernate,所以让我告诉您,Spring将使您的生活更加轻松,这主要是因为DI,而且它还有Hibernate支持类,用于执行常见功能、事务管理

我建议您同时做这两件事,因为如果没有Spring,您将学习过时的Hibernate设计,例如使用服务定位器等


注意:与Hibernate相比,您会发现学习Spring更容易:)

除非您有紧迫的理由首先进行数据库工作,否则我建议您在进入Hibernate之前采取不同的方法学习Spring核心。这是我在两个方面都学过的,对我来说非常有效

正如另一个答案所提到的,Spring(可能)比Hibernate更容易学习,并且由于使用Spring,您可能会得到一个“更干净”的项目,因为使用该框架鼓励在Java中使用许多最佳实践。因为您正在学习Java,这是一个很大的优势


一旦你掌握了这些实践,你就可以进入Spring/Hibernate集成并解决这个问题,但你可能会发现这要容易得多。

当然可以。Hibernate是一个ORM框架。它在任何方面都不需要Spring。这两者经常一起使用,但在某些情况下,Hibernate可以在没有Spring的情况下完全合理地使用。是的,我目前正在进行的一个项目就是这样做的(在桌面应用程序中)例如,您可以在GWT项目中使用Hibernate,该项目除了实体管理之外,只有边缘服务器端后端。这两种技术在该领域都是更强的技术,但您也可以将它们合并。或者在java EE应用服务器(例如Wildfly)中使用JPA(由Hibernate或其他任何工具实现)。您将获得Spring提供的所有“好东西”,但都是以标准方式提供的,或者在任何JavaEE容器中使用它(或者更好的是,JPA),免费获得所有DI、JAX-RS,以及您需要的任何东西。