本来想用OpenJPA来代替Hibernate做为系统的持久层解决方案的,试用了一段时间后发现OpenJPA的问题相当多,于是用了很长时间作出决定改回用Hibernate,没想到却用了很短的时间就完成了这项本以为会很艰苦的任务。
这还是得得益于JPA的规范,让不同的持久层技术有了统一的使用方式。
具体的过程简单到几乎没有什么可以描述。因为本来就有一部分是Hibernate实现的,所以只用新加入了hibernate-entitymanager.jar及依赖的Jar包,然后在persistence.xml中加入配置信息,这些配置信息也基本上都是从原来的hibernate.cfg.xml中Copy过来改了一下格式。最后,把
entityManagerFactory=Persistence.createEntityManagerFactory(“openjpa");
改成:
entityManagerFactory=Persistence.createEntityManagerFactory(“hibernate");
启动起应用,运行一下功能,大部分已经可以正常使用,一些因为实现不同而出现的小问题也多是代码上稍做变动即可。
不得不抱怨两句OpenJPA,而看看是谁在用OpenJPA来实现EJB的规范呢?很不幸,是BEA。难道这就是直到现在我们还不得不用着WebLogic8.1的原因?
注:又详细地测了一下,发现其实二者在例如Entity.refresh()这样的方法上对标准的理解和具体实现细节方面的还是有较大差异的,考虑到ORM技术的本身的复杂性,JPA尚任务道远。
分享到:
相关推荐
用户需要按照文档说明,导入这些jar文件,配置数据库连接,并运行示例代码来体验JPA的各种功能。 总的来说,JPA为Java开发者提供了一种便捷、高效的方式来处理关系数据库,简化了数据库操作,提高了开发效率。通过...
#### JPA初体验 初次接触JPA,可以通过创建一个简单的实体类,配置persistence.xml,并使用EntityManager进行CRUD操作来快速入门。例如,定义一个用户实体(User),并在数据库中创建相应的表,然后通过JPA注解配置...
通过以上知识点的介绍,我们不仅了解了 JPA 的基础概念和用法,还深入了解了 Spring Data JPA 如何扩展这些功能以提供更加高效和便捷的开发体验。对于那些希望在面向对象环境中高效管理数据的企业应用开发者来说,...
此外,为了优化用户体验,可能会实现分页显示书籍列表,这可以通过Struts的拦截器或JPA的分页查询功能来实现。还有安全性方面,可能需要对用户输入进行验证和过滤,防止SQL注入等安全问题,这部分可以通过Struts的...
在Java持久化领域,Java Persistence API (JPA) 是一种标准接口,用于管理和存储对象到数据库。它提供了一种面向对象的方式来操作数据库,极大地简化了开发过程。而当我们谈论“JPA-5 使用二级缓存”时,我们是在...
通常,你需要在后端使用JPA的Pageable接口来实现分页查询,然后将分页信息(总页数、当前页、每页条数等)传递到前端,由KKPager进行展示。 总结一下,这个项目结合了SpringBoot的便捷性、JPA的数据操作能力、...
JPA通过提供API和注解,将Java对象映射到数据库表,使得开发者无需编写大量SQL代码即可实现数据的CRUD(创建、读取、更新、删除)操作。Spring Boot与JPA的结合,让开发者可以轻松地在Spring应用中使用数据库。 3. ...
Java Persistence API(JPA)是Java平台上的ORM(对象关系映射)标准,用于将Java对象映射到数据库中的表。JPA通过提供API和ORM规范,简化了数据库操作,使得开发人员能够用面向对象的方式来处理数据库事务。Spring ...
通过这个DEMO,开发者可以学习到Spring Boot如何与JPA和Shiro协作,实现用户登录认证和权限控制。这在实际开发中是非常重要的,因为用户身份验证和权限管理是任何Web应用程序的基础安全措施。同时,这个DEMO也为...
在“openJpa的应用,感觉还可以”的标题中,我们可以理解到作者对于OpenJPA的使用体验是积极的。OpenJPA提供了诸如实体管理、事务处理、查询优化等核心ORM功能,并且与常见的Java应用服务器如Tomcat、WebLogic等兼容...
在"JAVA资源统计项目"中,SpringBoot JPA起到了关键作用。它允许开发者定义实体类,这些实体类可以直接映射到数据库表,通过简单的CRUD操作即可完成数据的增删改查。例如,项目可能包含一个"Resource"实体类,用于...
这有助于开发者了解JPA是如何将对象关系映射到数据库操作的,以及在特定场景下如何优化性能。通过阅读源码,开发者可以学习到如何自定义JPA的行为,如事件监听、二级缓存配置等。 **工具支持**: 在开发过程中,...
在本框架中,Thymeleaf负责前端页面的展示,实现数据的动态插入和更新,提升用户体验。 **Shiro** Apache Shiro是一个强大的安全框架,主要用于身份认证、授权、会话管理和加密。在本管理平台中,Shiro起到了安全...
这个"Struts2+Spring+jpa例子"是一个面向初学者的学习资源,旨在帮助他们理解如何将这三个框架集成到一个项目中,实现数据的CRUD操作。 **Struts2** 是一个基于MVC设计模式的Web应用程序框架,主要用于处理HTTP请求...
在本文中,我们将深入探讨如何在Spring Boot项目中利用Java Persistence API (JPA) 实现分页和动态多条件查询,并结合Thymeleaf模板引擎展示数据。Spring Boot以其简化配置和快速启动的优势,已经成为现代Java开发的...
JPA是Java平台上的ORM(Object-Relational Mapping)规范,它提供了一种标准的方式来将Java对象映射到关系数据库中。JPA允许开发者使用面向对象的方式来操作数据库,而无需直接编写SQL语句。在Spring Boot中,Spring...
在实际操作中,你需要先将`shop.sql`数据库脚本导入到MySQL数据库中,创建所需的表结构和初始数据。然后在MyEclipse环境中导入`shop`项目,配置好项目中的数据库连接、Struts2、Spring和JPA的相关配置,最后运行项目...
【querydsl-jpa-2.0.8.zip】 ...总的来说,这两个压缩包文件分别提供了高级的Java查询工具和一个便捷的前端提示插件,它们都是开发者在进行软件开发时可以利用的开源资源,有助于提高开发效率和用户体验。
1. **Java Persistence API (JPA)**:JPA是Java EE平台的一部分,它提供了一种标准的方式来管理和持久化Java对象到关系数据库中。通过ORM(对象关系映射),JPA允许开发者用面向对象的方式处理数据库操作,简化了...