JPA(Java Persistence API)是伴随着EJB3面世,但又不局限于Java EE容器使用。JPA只是个规范,而这个规范的提供者目前有Hibernate3.2,TopLink以及OpenJpa。Hibernate等轻量级ORM工具如火如荼应用到企业级项目时,JPA横空出世,JPA是在当前流行ORM框架上的提供标准接口,加一层抽象而已。Hibernate3.2等ORM框架实现了这个JPA规范,移植性将为大为提高。若你有Hibernate等ORM框架下开发的经验,将有助于你对JPA的深入理解。你猜都能猜到Hinbernate3 Session类的save方法实现JPA EntityManager类的persist方法。
JPA为EJB3而降生,但又可以脱离EJB3使用。JPA也可以使用于没有Java EE容器的环境,比如Java SE或者轻量级web容器象Tomcat。 Spring2能与JPA一起使用,这对于Spring来说一点都不难,Spring原本就非常好的支持Hibernate等ORM框架,而我一直强调JPA只是ORM的规范,Spring就很容易支持JPA。
EJB2是先有标准后有应用,而JPA正好相反。基于这一点,我相信JPA将会走的很远。 我个人认为JSP/JSF+Spring2+JPA或者JSP/JSF+EJB3+JPA的开发模式将很快流行,前者应用于中小项目比较多,而后者偏向于大型项目。
阅读(861) | 评论(0) | 转发(0) |