`

Spring2.5 + JPA(Hibernate)实现

阅读更多

1.JPA的实现框架

     使用MyEclipse7.1可以加入TopLink、Hibarnate、OpenJPA和EclipseLink。这几种框架,我已经简单测试使用过。基本上没什么区别(当然是对于JPA来说的)。

     使用Hibernate JPA、EclipseLink、OpenJPA 时,Entity Bean的主键生成celve可以采取@GeneratedValue(strategy = GenerationType.AUTO),可以的MySQL和Oracle之间灵活转换。注:日期类型把注解@Temporal(TemporalType.TIMESTAMP)去掉可以正常执行。

     使用TopLink 的时候,MySQL的主键生产策略只能采取@GeneratedValue(strategy = GenerationType.IDENTITY),这样一来,就和MySQL数据库耦合了,以后更换数据库还得该代码了。如果采取的是Oracle的话,理论上建议使用TopLink。TopLink是Oracle公司的框架,对于Oracle性能上可能会好一点。至于是否真的好一点,很难说,没有测试数据。我也只能“人云亦云”了。

     使用OpenJPA 的时候,对于MyEclipse反向生成Entity,居然不需要修改(指日期类型),对于@Temporal一般不会用到,直接删除就行了。

 

2.persistence.xml

    

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
    
	<persistence-unit name="Spring_JPAPU"
		transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<class>com.taoistwar.jpa.entity.User</class>
		<properties>
			<property name="hibernate.connection.driver_class"
				value="com.mysql.jdbc.Driver" />
			<property name="hibernate.connection.url"
				value="jdbc:mysql://127.0.0.1:3306/jpa" />
			<property name="hibernate.connection.username" value="root" />
			<property name="hibernate.connection.password" value="root" />
		</properties>
	</persistence-unit>

</persistence>
 
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
    
	<persistence-unit name="Spring_JPA_TopLinkPU" transaction-type="RESOURCE_LOCAL">
		<provider>oracle.toplink.essentials.PersistenceProvider</provider>
  		<class>com.taoistwar.jpa.entity.User</class>
  		<properties>
			<property name = "toplink.jdbc.driver" value = "com.mysql.jdbc.Driver"/>
			<property name = "toplink.jdbc.url" value = "jdbc:mysql://127.0.0.1:3306/jpa"/>
			<property name = "toplink.jdbc.user" value = "root"/>
			<property name = "toplink.jdbc.password" value = "root"/>
	  	</properties>
	</persistence-unit>
  
</persistence>
 
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
    
	<persistence-unit name="Spring_JPA_OpenJPAPU"
		transaction-type="RESOURCE_LOCAL">
		<provider>
			org.apache.openjpa.persistence.PersistenceProviderImpl
		</provider>
		<class>com.taoistwar.jpa.entity.User</class>
		<properties>
			<property name="openjpa.ConnectionDriverName"
				value="com.mysql.jdbc.Driver" />
			<property name="openjpa.ConnectionURL"
				value="jdbc:mysql://127.0.0.1:3306/jpa" />
			<property name="openjpa.ConnectionUserName" value="root" />
			<property name="openjpa.ConnectionPassword" value="root" />
		</properties>
	</persistence-unit>

</persistence>
 
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
    
	<persistence-unit name="Spring_JPA_EclipseLinkPU"
		transaction-type="RESOURCE_LOCAL">
		<provider>
			org.eclipse.persistence.jpa.PersistenceProvider
		</provider>
		<class>com.taoistwar.jpa.entity.User</class>
		<properties>
			<property name="eclipselink.jdbc.driver"
				value="com.mysql.jdbc.Driver" />
			<property name="eclipselink.jdbc.url"
				value="jdbc:mysql://127.0.0.1:3306/jpa" />
			<property name="eclipselink.jdbc.user" value="root" />
			<property name="eclipselink.jdbc.password" value="root" />
		</properties>
	</persistence-unit>

</persistence>
 


 

 

 

 

备注:附件是的MyEclipse7.1中开发的。

分享到:
评论

相关推荐

    Spring2.5+Hibernate3.2开发手册

    - **Spring2.5中文开发参考手册.chm**:这份文档会详细介绍Spring 2.5 的核心概念、配置、API使用以及如何在实际项目中应用Spring框架。 - **Hibernate_3.2.0_api.chm**:这份文档是Hibernate 3.2.0 的API参考,包含...

    jsf+spring2.5+jpa(hibernate)的jar包

    这是jsf+spring2.5+jpa(hibernate)的jar包,很多人为了jsj环境而配置半天,在此提供jar包共享。注:除了ajax4jsf和tomahawk-1.1.3.jar,因为csdn只让我上传20mb,大家自己可以下一下自己试试。

    Spring2.5+Hibernate3.3+Struts1.3整合需要用到的所有jar文件

    以上就是Spring 2.5、Hibernate 3.3和Struts 1.3整合过程中涉及的关键知识点和步骤。整合这三大框架可以构建出一个强大的Java Web应用,充分利用它们各自的优势,提高开发效率和代码质量。不过,随着技术的发展,...

    jersey+spring2.5+hibernate3.3+jpa

    标题 "jersey+spring2.5+hibernate3.3+jpa" 指的是一种集成技术,将轻量级的RESTful服务框架Jersey、企业级应用框架Spring 2.5、持久层框架Hibernate 3.3以及Java Persistence API(JPA)结合在一起,以实现高效且...

    ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签)

    标题 "ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签)" 涉及到的是一个基于Java Web的项目,利用了Struts2、Spring2.5、Hibernate3.3和Ajax技术,实现了文件上传并带有进度条显示的功能...

    spring2.5 + jpa(hibernate3) 实例源码

    在"spring2.5jpa"这个源码实例中,你可能会看到以下几个关键部分: 1. **配置文件**:如`applicationContext.xml`,其中会配置Spring的数据源、JPA实体管理工厂以及事务管理器。 2. **实体类**:代表数据库表的Java...

    Struts1.3+spring2.5+JPA(hibernate) demo

    Struts1.3、Spring2.5和JPA(基于Hibernate)是Java Web开发中三个重要的框架,它们的集成使用可以构建出强大的企业级应用。这个"Struts1.3+spring2.5+JPA(hibernate) demo"提供了一个实践性的学习案例,帮助初学者...

    Struts1.2+Spring2.5+Hibernate3.2框架搭建(一)

    在IT行业中,构建高效、可维护的企业级应用是至关重要的,..."Struts+hibernate+Spring的整合方法.doc"则可能深入探讨整合过程中的一些技巧和注意事项。这些文档对于学习和理解这个经典框架组合的集成过程非常有价值。

    struts2.0+spring2.5+JPA整合框架

    Struts2.0、Spring2.5和JPA(Java Persistence API)是Java开发中常见的三大框架,它们各自承担着不同的职责,共同构建了一个高效、灵活的企业级应用开发环境。Struts2作为MVC(Model-View-Controller)框架,负责...

    ecside+struts2+spring2.5+hibernate3.2

    标题 "ecside+struts2+spring2.5+hibernate3.2" 提及的是一个基于Java的Web开发框架组合,这个组合是企业级应用的常见选择,特别是对于那些需要强大持久层、业务层和表现层管理的项目。让我们逐一深入探讨这四个关键...

    struts1+spring2.5+hibernate整合jar包

    Struts1、Spring2.5和Hibernate是Java Web开发中常用的三大框架,它们各自负责不同的职责,Struts1处理表现层逻辑,Spring2.5管理依赖注入和业务逻辑,Hibernate则专注于持久化层操作。将这三大框架整合在一起,可以...

    struts2+spring2.5+hibernate3.2 例子

    Struts2、Spring2.5和Hibernate3.2是经典的Java Web开发框架组合,它们各自在应用程序的不同层面提供了强大的功能。下面将详细解释这三个框架以及它们如何协同工作。 **Struts2** Struts2是一个基于MVC(Model-View...

    Struts2.0+spring2.5+hibernate3.2

    Struts2.0、Spring2.5和Hibernate3.2是经典的Java企业级开发框架组合,通常被称为SSH(Struts2、Spring、Hibernate)集成框架。这个组合在2000年代末到2010年代初广泛应用于构建大型、复杂的企业级Web应用。SSH框架...

    Struts2 + Spring2.5 + JPA(hibernate) + AJAX+ 实例

    Spring2.5还集成了对JPA的支持,可以方便地与ORM(对象关系映射)框架如Hibernate集成,以实现数据访问层的抽象。 **JPA (Java Persistence API)** 是Java平台上的标准持久化API,它定义了如何在Java应用中管理和...

    flex3.0+spring2.5+hibernate3.2

    "flex3.0+spring2.5+hibernate3.2" 指的是一种集成技术,它将Adobe Flex 3.0(一种用于构建富互联网应用程序的框架)与Spring 2.5(一个Java企业级应用的IOC和AOP容器)和Hibernate 3.2(一个流行的关系型数据库持久...

    spring2.5 + hibernate3.2 实例源码

    标题 "spring2.5 + hibernate3.2 实例源码" 涉及到的是两个非常关键的Java企业级开发框架:Spring 2.5和Hibernate 3.2。这个实例源码提供了如何将这两个框架集成并进行实际应用的示例。 Spring 2.5是Spring框架的一...

Global site tag (gtag.js) - Google Analytics