J2EE考试重点:四层模型、对象持久化与Hibernate实战

需积分: 9 4 下载量 29 浏览量 更新于2024-09-09 收藏 116KB DOC 举报
"这篇资料是关于J2EE企业级应用开发课程的考试答案,主要包含面试题,涉及J2EE的四层模型、对象持久化、ORMapping的概念以及使用Hibernate实现对象持久化的步骤,还有序列化的目的以及sessionFactory中opensession()和getcurrentsession()方法的区别。" 1、J2EE的四层模型: J2EE架构通常分为四层,分别是: - 客户层组件:运行在用户设备上,如浏览器或桌面应用,负责与用户交互。 - Web层组件:运行在J2EE服务器上,处理HTTP请求,如Servlets和JSP,提供动态网页内容。 - 业务逻辑层组件:处理应用程序的核心业务逻辑,常由EJB(Enterprise JavaBeans)构成。 - 企业信息系统层:包括ERP、CRM等,是与企业后端系统交互的接口,如数据库、文件系统或其他企业服务。 2、对象持久化: 对象持久化是指将内存中的对象状态保存到持久存储介质,如数据库,使得数据能够在系统重启后仍然存在。在Java中,这一过程常通过ORM(对象关系映射)技术来实现。 3、ORMapping(对象关系映射): ORMapping用于解决面向对象编程与关系数据库之间的不匹配问题。它通过元数据描述对象与数据库表之间的映射关系,使得开发者可以操作对象,而无需直接编写SQL语句。ORMapping技术简化了数据访问,提高了代码的可维护性和可扩展性。 4、使用Hibernate实现对象持久化的步骤: - STEP1: 创建Configuration对象,加载并解析配置文件。 - STEP2: 创建SessionFactory对象,它是Session的工厂,通常全局唯一。 - STEP3: 创建Session对象,代表与数据库的会话。 - STEP4: 开启事务,所有持久化操作必须在事务中进行。 - STEP5: 执行持久化操作,如保存、更新或查询对象。 - STEP6: 提交或回滚事务,确保数据的一致性。 - STEP7: 关闭Session,释放数据库资源。 5、序列化的原因: - 对象持久化:将对象状态保存到文件或数据库中,便于恢复。 - 对象传输:在网络间传输对象时,序列化使其能够通过网络流。 - 维护性:序列化有助于模块化和版本控制,方便代码管理和升级。 6、sessionFactory中的opensession()与getcurrentsession(): - opensession():每次调用都会创建一个新的Session实例,独立于当前的事务上下文,适用于非事务性的操作或新的事务开始。 - getcurrentsession():与当前的Hibernate事务绑定,如果已有事务则返回该事务内的Session,否则创建新的Session。通常推荐在事务管理中使用,因为它能更好地管理事务边界和Session生命周期。