2

上周五我去一家 IT 咨询公司面试。

面试官问我关于我的项目以及我参与的情况。

突然,他提出了一个关于hibernate的问题。他的问题如下

“如果我有一个项目是使用Java EE环境在MVC架构中开发的,但是使用JDBC进行数据库交互,我将如何将Hibernate集成到其中。我不想打扰现有代码,所有以前的JDBC代码应该完好无损。”

我告诉他,我们在现有代码中添加 hibernate 的所有功能,因为它只需要配置文件,实体就是它。JDBC的旧代码本身可能是使用Datasourse获取连接,同样的datasourse可以使用JNDI在Hibernate中建立会话工厂,没什么大不了的。

但是面试官对我的回答并不满意,他需要更多的解释。我无法打动他。

那么,您能否建议上述问题的可能答案。或者至少给我一个提示,以便我可以得到答案。

4

3 回答 3

2

我认为他想要的答案如下。

典型的应用程序设计需要层分离。有以下经典层:Web 层、业务逻辑和 DB。有一个名为 DAO(Data Access Objects)的薄层,它是用 java 编写的,在业务逻辑和 DB 之间起着“中间人”的作用。听起来这一层是使用纯 JDBC 实现的。

因此,用基于 Hibernate 的层替换这一层并没有问题。

现在,您可以添加有关如何配置 Hibernate 并将其与应用程序的其余部分集成的更多详细信息。

于 2012-04-29T06:29:48.627 回答
0

我想他可能是在找你解释你如何:

  • 在现有 SQL 查询周围放置 Hibernate 包装器,或者
  • 为遗留 SQL 表创建 Hibernate 绑定,或者
  • 使用容器级事务集成 Hibernate 和经典 JDBC。

(很明显,他并没有问你如何用 Hibernate 代码替换旧的 JDBC 代码......)

但是,当然,您确实需要问他,他希望您在回答问题时展示什么知识/经验。

于 2012-04-29T06:32:33.487 回答
0

不是一个确切的答案,您没有提到您的应用程序使用哪个框架,但如果您的应用程序使用 Spring 框架,我的问题及其答案将对您有所帮助,但我的问题是相反的,因为我想将 jdbc 与 hibernate 集成。

于 2012-04-30T08:10:02.877 回答