上周五我去了一家IT咨询公司接受采访。
面试官问我关于我的项目以及我参与的内容。
突然他向hibernate提出了一个问题。他的问题如下
“如果我有一个使用Java EE环境在MVC架构中开发的项目,但是使用JDBC进行数据库交互,我将如何将Hibernate集成到其中。我不想打扰现有的代码,所有的以前的JDBC代码应该完整无缺。“
我告诉他我们在现有代码中添加了hibernate的所有功能,因为它只需要配置文件,实体就是这样。旧的JDBC代码本身可能正在使用Datasourse来获取连接,可以使用JNDI在Hibernate中构建会话工厂来查找相同的数据,这不是什么大问题。
但面试官对我的回答并不满意,他需要更多解释。 我无法给他留下深刻印象。
那么请你建议一下上述问题的可能答案。 或者至少给我一个提示,以便我能得到答案。
答案 0 :(得分:2)
我认为他想要回答如下。
典型的应用设计需要层分离。有以下经典层:Web层,业务逻辑和DB。有一个名为DAO(数据访问对象)的薄层,用java编写,在业务逻辑和数据库之间扮演“中间人”的角色。听起来这个层是使用普通JDBC实现的。
所以,替换这个并且只有基于Hibernate的这个层没有问题。
现在,您可以添加有关如何配置Hibernate的更多详细信息,并将其与应用程序的其余部分集成。
答案 1 :(得分:0)
我想他可能正在找你解释你的方式:
(很明显,他并没有询问你如何用Hibernate代码替换旧的JDBC代码......)
但是,当然,你真的需要问他在回答这个问题时希望你展示的知识/经验。
答案 2 :(得分:0)
不是一个确切的答案,你没有提到你的应用程序使用哪个框架,但如果你的应用程序使用Spring框架,this my question并且它的答案对你有帮助,但我的问题是相反的,因为我想将jdbc与冬眠。