Java Hibernate集成访谈

Java Hibernate集成访谈,java,hibernate,jakarta-ee,jdbc,Java,Hibernate,Jakarta Ee,Jdbc,上周五我参加了一家IT咨询公司的面试 面试官问我关于我的项目以及我的参与情况 突然,他问了一个关于hibernate的问题。他的问题如下 “如果我有一个项目是在使用Java EE环境的MVC体系结构中开发的,但使用JDBC进行数据库交互,我将如何将Hibernate集成到该项目中。我不想干扰现有代码,所有以前的JDBC代码都应该是完整的。” 我告诉他,我们可以在现有代码中添加hibernate的所有功能,因为它只需要配置文件和实体。JDBC的旧代码本身可能使用数据源获取连接,使用JNDI在Hib

上周五我参加了一家IT咨询公司的面试

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

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

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

我告诉他,我们可以在现有代码中添加hibernate的所有功能,因为它只需要配置文件和实体。JDBC的旧代码本身可能使用数据源获取连接,使用JNDI在Hibernate中构建会话工厂可以查找相同的数据源,这没什么大不了的

但是面试官对我的回答不满意,他需要更多的解释。 我没能给他留下好印象

那么,你能建议一下,对于上述问题,可能的答案是什么吗。
或者至少给我一个提示,这样我就可以得到一个答案。

我想他想要的答案如下

典型的应用程序设计需要分层。有以下经典层:web层、业务逻辑和数据库。有一个名为DAO(数据访问对象)的薄层,它是用java编写的,在业务逻辑和数据库之间扮演“中间人”的角色。听起来这一层是使用普通JDBC实现的

因此,用基于Hibernate的层来替换这个层和仅此层是没有问题的


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

我想他可能在找你解释你可能:

  • 在现有SQL查询周围放置Hibernate包装器,或者
  • 为旧SQL表创建Hibernate绑定,或
  • 使用容器级事务集成Hibernate和经典JDBC
(很明显,他不是在问如何用Hibernate代码替换旧的JDBC代码……)


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

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