spring集成jpa【为什么有 persistant.xml 文件呢?】

原文地址: http://www.cnblogs.com/javahuang/archive/2012/12/19/2824633.html

spring集成JPA的其中一种方式

JPA和hibernate的关系:

spring对JPA的集成.JPA是一个ORM规范,由厂商实现该规范, 目前有hibernate,OpenJPA,TopLink和EclipseJPA等实现,本系统中用到的就是hibernate的实现JPA,只配置了两个属性datasource和实现厂商) 所谓JPA是持久化的规范,屏蔽了数据库厂商不同带来的差异而已,而spring对

<bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="jpaVendorAdapter">
            <bean
                class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                <property name="showSql" value="true" />
                <property name="generateDdl" value="false" />
                <property name="databasePlatform"
                    value="org.hibernate.dialect.Oracle10gDialect" />
            </bean>
        </property>
    </bean>

因为所有的工作都是遵照JPA标准进行的,而JPA标准要求项目中有一个 persistence.xml 文件,因此我们必须要把这个文件补上,这个文件的默认位置是在META-INF,

这个文件中只有一行配置:定义了persistence-unit,名字为jpa,它的事务管理模式transaction-type为本地管理,即 RESOURCE_LOCAL 。在我们的项目中,这个本地管理者就是Spring的Entity Manager。不必问为什么,这是JPA标准,我们需要有这个文件,名字要叫persistence.xml,并且这个文件要放在项目的CLASSPATH的 META-INF 目录中。

<?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="testerPU"
        transaction-type="RESOURCE_LOCAL">
    </persistence-unit>
</persistence>

 

时间: 2024-08-03 03:50:09

spring集成jpa【为什么有 persistant.xml 文件呢?】的相关文章

JPA 不在 persistence.xml 文件中配置每个Entity实体类的2种解决办法

原文:JPA 不在 persistence.xml 文件中配置每个Entity实体类的2种解决办法 在Spring 集成 Hibernate 的JPA方式中,需要在persistence配置文件中定义每一个实体类,这样非常地不方便,远哥目前找到了2种方法.   这2种方式都可以实现不用persistence.xml文件,免去每个Entity都要在persistence.xml文件中配置的烦恼,但是这种方式Entity实体类的主键字段注解@ID要放到 getXXX()方法上,否则不认.   方式1

在Spring框架中集成JPA实例

Hibernate 3.2支持JPA注解,Spring集成JPA是可选的. 下面是Spring集成JPA的一个例子. 实体类MyUser,使用JPA注解实现到数据库表myUser的映射,如下所示: package org.shirdrn.entity; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Generated

对ORM的支持 之 8.4 集成JPA ——跟我学spring3

8.4  集成JPA        JPA全称为Java持久性API(Java Persistence API),JPA是Java EE 5标准之一,是一个ORM规范,由厂商来实现该规范,目前有Hibernate.OpenJPA.TopLink.EclipseJPA等实现.   8.4.1  如何集成        Spring目前提供集成Hibernate.OpenJPA.TopLink.EclipseJPA四个JPA标准实现.        Spring通过使用如下Bean进行集成JPA(E

eclipse中xml文件注解问题

问题描述 <!--配置mapper接口的扫描器--><!----><beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer">为什么我的xml文件在eclipse中Ctrl+Shift+/后变成上述那种了,分成两行了,我想要的是这种结果<!--****-->在一行的请教: 解决方案 解决方案二:http://maidini.blog.163.com/blog/static/

jpa-osgi框架中使用JPA,怎样把persistence.xml文件中的数据库连接部分的配置独立出来

问题描述 osgi框架中使用JPA,怎样把persistence.xml文件中的数据库连接部分的配置独立出来 如题:osgi框架中使用JPA,怎样把persistence.xml文件中的数据库连接部分的配置单独拿出来,由于persistence.xml有多个,为方便连接不同的数据库,不使用spring框架时,怎样将驱动.url.用户名.密码独立成一个文件 解决方案 http://bbs.csdn.net/topics/391912381 解决方案二: 在一个properties文件中配置不同的驱

Spring集成Hibernate,使用JPA注解方式,新增数据无法提交

问题描述 环境:spring 3.1hibernate 4.2.8 final mysql 5.6问题描述:调用controller的查询方法,可以正常返回数据调用controller的创建方法,即:新增数据,控制台打印出了读取和修改序号表的sql,但是没有打印插入数据的sql,数据库表中也没有新增数据.怀疑是spring控制的事务没有提交,但是排查了两三天,从网上找了各种方法,都没有解决问题.请各位大侠拉小弟一把,实在是找不到事务为什么没有提交. web.xml <?xml version=&qu

【报错】spring整合activeMQ,pom.xml文件缺架包,启动报错:Caused by: java.lang.ClassNotFoundException: org.apache.xbean.spring.context.v2.XBeanNamespaceHandler

spring版本:4.3.13 ActiveMq版本:5.15 ======================================================== spring整合activeMQ,pom.xml文件缺架包,启动报错: [springDemo][INFO] [2017-12-11 14:54:57] org.springframework.web.context.ContextLoader.initWebApplicationContext(304) | Root

spring配置xml文件classnotfound报错

问题描述 spring配置xml文件classnotfound报错 ApplicationContext ctx=new ClassPathXmlApplicationContext("WebContentWEB-INFspring.xml"); 也用了FileSystemXmlApplicationContext(),输入绝对路径, 但都是java.lang.ClassNotFoundException报错 解决方案 代码报错多贴一些,看看到底是哪个类找不到,这么贴看不出来啥 解决方

spring mvc-Spring mvc+mybatis+maven的项目tomcat启动的时候,控制台不输出xml文件的加载信息

问题描述 Spring mvc+mybatis+maven的项目tomcat启动的时候,控制台不输出xml文件的加载信息 2014-3-17 9:52:18 org.apache.catalina.core.AprLifecycleListener init信息: Loaded APR based Apache Tomcat Native library 1.1.24 using APR version 1.4.6.2014-3-17 9:52:18 org.apache.catalina.co