将遗留Hibernate应用程序迁移到OpenJPA和EJB 3.0(一) - 编程入门网
backTransaction();
throw ex;
} finally {
ORMHelper.closeSession();
}
}
public Customer updateCustomer( Customer customerEntity ) {
ORMHelper.openSession();
try {
ORMHelper.beginTransaction();
Customer returnValue;
returnValue = ORMHelper.update(customerEntity);
ORMHelper.commitTransaction();
return returnValue;
} catch (RuntimeException ex) {
ORMHelper.rollbackTransaction ();
throw ex;
} finally {
ORMHelper.closeSession();
}
}
public Customer getCustomer( Long customerId ) {
ORMHelper.openSession ();
try {
ORMHelper.beginTransaction();
Customer customerEntity;
customerEntity = ORMHelper.retrieve(Customer.class,customerId);
ORMHelper.commitTransaction();
return customerEntity;
} catch (RuntimeException ex) {
ORMHelper.rollbackTransaction();
throw ex;
} finally {
ORMHelper.closeSession();
}
}
public void deleteCustomer( Customer customerEntity ) {
ORMHelper.openSession();
try {
ORMHelper.beginTransaction();
ORMHelper.delete(customerEntity);
ORMHelper.commitTransaction();
} catch (RuntimeException ex) {
ORMHelper.rollbackTransaction();
throw ex;
} finally {
ORMHelper.closeSession();
}
}
}
清单 10 中演示了必须为迁移进行的更改。 将遗留Hibernate应用程序迁移到OpenJPA和EJB 3.0(一)(10)时间:2011-09-18 Donald Vines通过比较,EJB 3.0 SessionFacade 类不能实现 SessionBean 类,也不能实现 SessionBean 的回调 方法(setSessionContext、ejbCreate、ejbRemove、ejbActivate 和 ejbPassivate)。此外,EJB 3.0 中也不需要组件接口、home 接口和部署描述符。在 EJB 2.1 部署描述符中指定的值包括在具有 Java 5 注释的 EJB 3.0 SessionFacade 类中。 也就是说,对 SessionFacade 的业务方法没有任何更改,预期会在这里看到对 Hibernate 或 OpenJPA API 的大量调用。这是因为我们在 helper 类中封装了大多数 Hibernate/OpenJPA API,并且会 话 bean 使用了 helper 类。当然,您的应用程序可能没有构造为在 helper 类中封装 Hibernate/OpenJPA API,但是,如果并行比较对前些部分中 helper 类进行的更改,应该能够确定对用 于会话、事务和实体管理的 EJB 会话 bean 的更改是必需的。 迁移 Hibernate 对象关系映射 Hibernate 对象关系映射可以在启动时加载的 XML 映射文件集中定义。可以直接使用这些映射文件或 从嵌入源代码的 javadoc 样式注释中生成。在 Hibernate 的较新版本中,还可以通过 Java 5 注释定义 对象关系映射。 可以在 XML 映射文件集中定义 OpenJPA 对象关系映射,或者通过直接嵌入代码的 Java 5 注释定义 它们,该对象关系映射完全不需要映射文件。 在开发中,大多数遗留 Hibernate 应用程序使用 XML 映射文件,而大多数 OpenJPA 应用程序使用 Java 5 注释,但在生产中则将它们移动到 XML,这样对映射的简单更改不需要您修改源代码和重新构建 。 由于 XML 对 Hibernate 很常见,并且在 OpenJPA 中通常用于生产,所以在本部分中对映射使用 XML 。为帮助了解对象模型 (POJO) 中哪些内容是必需的,哪些不是必需的,还包括了相应的基础代码(不包 括注释)。 如果遗留 Hibernate 应用程序不使用映射文件(例如,使用 javadoc 样式的注释或 Java 5 注释 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |