【问题标题】:An Interview on Hibernate IntegrationHibernate 集成访谈
【发布时间】:2012-05-09 08:27:56
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: java hibernate jakarta-ee jdbc


    【解决方案1】:

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

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

    因此,将这一层替换为基于 Hibernate 的仅这一层是没有问题的。

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

    【讨论】:

      【解决方案2】:

      我认为他可能在找你解释你可能会如何:

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

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

      当然,你真的需要问他,他希望你在回答问题时展示什么知识/经验。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-01-01
          • 2013-02-26
          • 2023-03-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多