- 浏览: 329505 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (211)
- Java IO (3)
- Struts (13)
- Hibernate (19)
- Spring (9)
- jQuery (2)
- Extjs (8)
- Flex (1)
- Oracle (4)
- ibatis (3)
- SQL (0)
- WorkFlow (0)
- Java Core (14)
- Ant&Maven (18)
- Java Thread (0)
- Java Socket (1)
- Java OO (2)
- Javascript (14)
- CSS&Div (2)
- MYSQL (3)
- MSSQL (0)
- Design Pattern (3)
- Data Structure&Algorithm (1)
- Source Analysis (0)
- OSGi (3)
- Linux (7)
- Network (1)
- 百无聊赖 (9)
- English (5)
- Japaness (0)
- French (0)
- Webservice (3)
- 考试认证 (0)
- C/C++ (1)
- 小题目 (1)
- Server (1)
- JSP&Servlet (18)
- JDBC (8)
- JMS (3)
- JNDI (0)
- 软件工程 (2)
- 项目管理 (2)
- UML (0)
- 文档翻译 (0)
- 架构之美 (1)
- EJB (0)
- DataBase Design (1)
- DataBase (1)
- Framework Integration (2)
- JPA (2)
- Daily Reading (8)
- 通用组件设计 (3)
- Spring DM (1)
- Spring MVC (0)
- Spring Security (0)
- 时间管理 (0)
- 成本管理 (1)
- 进度管理 (0)
- 质量管理 (0)
- 范围管理 (0)
- 环境配置 (5)
- 敏捷开发 (0)
- DB2 (2)
- 持续集成 (1)
- JVM性能调优 (2)
- Weblogic (0)
- PHP (1)
- Websphere (2)
最新评论
-
di1984HIT:
写的很好,谢谢。。
【转载】【权限控制】角色访问动态生成用户权限菜单树 -
paladin1988:
wangxuehui 写道我昨天也参加视频面试,视频面试2个人 ...
阿里巴巴面试感想 -
wangxuehui:
我昨天也参加视频面试,视频面试2个人,最后都听我说完啦,最后我 ...
阿里巴巴面试感想 -
paladin1988:
liwei113114 写道请问一下,你们最后是怎么解决tld ...
OSGi动态拔插,动态部署,动态权限菜单 -
liwei113114:
请问一下,你们最后是怎么解决tld那个问题的?
我现在也遇到这 ...
OSGi动态拔插,动态部署,动态权限菜单
来自于互联网
JPA配置文件
<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 persistence_1_0.xsd" version="1.0"> <persistence-unit name="eclipselink" transaction-type="RESOURCE_LOCAL"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <class>org.compass.gps.device.jpa.model.Simple</class> <class>org.compass.gps.device.jpa.model.SimpleBase</class> <class>org.compass.gps.device.jpa.model.SimpleExtend</class> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="eclipselink.jdbc.driver" value="org.hsqldb.jdbcDriver"/> <property name="eclipselink.jdbc.url" value="jdbc:hsqldb:mem:test"/> <property name="eclipselink.jdbc.user" value="sa"/> <property name="eclipselink.jdbc.password" value=""/> <property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.HSQLPlatform"/> <property name="eclipselink.logging.level" value="OFF"/> <property name="eclipselink.orm.throw.exceptions" value="true"/> <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/> <property name="eclipselink.ddl-generation.output-mode" value="database"/> </properties> </persistence-unit> <persistence-unit name="embeddedeclipselink" transaction-type="RESOURCE_LOCAL"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <class>org.compass.gps.device.jpa.model.Simple</class> <class>org.compass.gps.device.jpa.model.SimpleBase</class> <class>org.compass.gps.device.jpa.model.SimpleExtend</class> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="eclipselink.jdbc.driver" value="org.hsqldb.jdbcDriver"/> <property name="eclipselink.jdbc.url" value="jdbc:hsqldb:mem:test"/> <property name="eclipselink.jdbc.user" value="sa"/> <property name="eclipselink.jdbc.password" value=""/> <property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.HSQLPlatform"/> <property name="eclipselink.logging.level" value="OFF"/> <property name="eclipselink.orm.throw.exceptions" value="true"/> <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/> <property name="eclipselink.ddl-generation.output-mode" value="database"/> <property name="eclipselink.session.customizer" value="org.compass.gps.device.jpa.embedded.eclipselink.CompassSessionCustomizer"/> <property name="compass.engine.connection" value="target/test-index"/> <property name="compass.debug" value="true" /> </properties> </persistence-unit> <persistence-unit name="toplink" transaction-type="RESOURCE_LOCAL"> <provider>oracle.toplink.essentials.PersistenceProvider</provider> <class>org.compass.gps.device.jpa.model.Simple</class> <class>org.compass.gps.device.jpa.model.SimpleBase</class> <class>org.compass.gps.device.jpa.model.SimpleExtend</class> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="toplink.jdbc.driver" value="org.hsqldb.jdbcDriver"/> <property name="toplink.jdbc.url" value="jdbc:hsqldb:mem:test"/> <property name="toplink.jdbc.user" value="sa"/> <property name="toplink.jdbc.password" value=""/> <property name="toplink.target-database" value="oracle.toplink.essentials.platform.database.HSQLPlatform"/> <property name="toplink.logging.level" value="OFF"/> <property name="toplink.orm.throw.exceptions" value="true"/> <property name="toplink.ddl-generation" value="drop-and-create-tables"/> <property name="toplink.ddl-generation.output-mode" value="database"/> </properties> </persistence-unit> <persistence-unit name="embeddedtoplink" transaction-type="RESOURCE_LOCAL"> <provider>oracle.toplink.essentials.PersistenceProvider</provider> <class>org.compass.gps.device.jpa.model.Simple</class> <class>org.compass.gps.device.jpa.model.SimpleBase</class> <class>org.compass.gps.device.jpa.model.SimpleExtend</class> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="toplink.jdbc.driver" value="org.hsqldb.jdbcDriver"/> <property name="toplink.jdbc.url" value="jdbc:hsqldb:mem:test"/> <property name="toplink.jdbc.user" value="sa"/> <property name="toplink.jdbc.password" value=""/> <property name="toplink.target-database" value="oracle.toplink.essentials.platform.database.HSQLPlatform"/> <property name="toplink.logging.level" value="OFF"/> <property name="toplink.orm.throw.exceptions" value="true"/> <property name="toplink.ddl-generation" value="drop-and-create-tables"/> <property name="toplink.ddl-generation.output-mode" value="database"/> <property name="toplink.session.customizer" value="org.compass.gps.device.jpa.embedded.toplink.CompassSessionCustomizer"/> <property name="compass.engine.connection" value="target/test-index"/> <property name="compass.debug" value="true" /> </properties> </persistence-unit> <persistence-unit name="hibernate" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>org.compass.gps.device.jpa.model.Simple</class> <class>org.compass.gps.device.jpa.model.SimpleBase</class> <class>org.compass.gps.device.jpa.model.SimpleExtend</class> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/> <property name="hibernate.connection.url" value="jdbc:hsqldb:mem:test"/> <property name="hibernate.connection.username" value="sa"/> <property name="hibernate.connection.password" value=""/> <property name="hibernate.search.autoregister_listeners" value="false"/> <property name="hibernate.hbm2ddl.auto" value="create"/> </properties> </persistence-unit> <persistence-unit name="embeddedhibernate" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>org.compass.gps.device.jpa.model.Simple</class> <class>org.compass.gps.device.jpa.model.SimpleBase</class> <class>org.compass.gps.device.jpa.model.SimpleExtend</class> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/> <property name="hibernate.connection.url" value="jdbc:hsqldb:mem:test"/> <property name="hibernate.connection.username" value="sa"/> <property name="hibernate.connection.password" value=""/> <property name="hibernate.search.autoregister_listeners" value="true"/> <property name="hibernate.hbm2ddl.auto" value="create"/> <property name="compass.engine.connection" value="target/test-index"/> <property name="compass.debug" value="true" /> </properties> </persistence-unit> <persistence-unit name="openjpa" transaction-type="RESOURCE_LOCAL"> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> <class>org.compass.gps.device.jpa.model.Simple</class> <class>org.compass.gps.device.jpa.model.SimpleBase</class> <class>org.compass.gps.device.jpa.model.SimpleExtend</class> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="openjpa.jdbc.DBDictionary" value="hsql"/> <property name="openjpa.ConnectionDriverName" value="org.hsqldb.jdbcDriver"/> <property name="openjpa.ConnectionURL" value="jdbc:hsqldb:mem:test"/> <property name="openjpa.ConnectionUserName" value="sa"/> <property name="openjpa.ConnectionPassword" value=""/> <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/> </properties> </persistence-unit> <persistence-unit name="embeddedopenjpa" transaction-type="RESOURCE_LOCAL"> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> <class>org.compass.gps.device.jpa.model.Simple</class> <class>org.compass.gps.device.jpa.model.SimpleBase</class> <class>org.compass.gps.device.jpa.model.SimpleExtend</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> <properties> <property name="openjpa.jdbc.DBDictionary" value="hsql"/> <property name="openjpa.ConnectionDriverName" value="org.hsqldb.jdbcDriver"/> <property name="openjpa.ConnectionURL" value="jdbc:hsqldb:mem:test"/> <property name="openjpa.ConnectionUserName" value="sa"/> <property name="openjpa.ConnectionPassword" value=""/> <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/> <property name="compass.engine.connection" value="target/test-index"/> <property name="compass.debug" value="true" /> </properties> </persistence-unit> </persistence>
附上一篇不错的文章
来源:http://www.cnblogs.com/luxh/archive/2012/05/24/2516282.html
persistence.xml文件必须定义在classpath路径下的META-INF文件夹中。
我们看看基于Hibernate提供的一个比较完整的JPA2.0的persistence.xml文件。
persistence.xml:
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" 要注意使用的是2.0规范
name JPA2.0规范要求每一个持久化单元必须有一个名字,不能为空。即persistence-unit name="manager1"的name不能为空。
使用的事务类型。有JTA和RESOURCE_LOCAL两种类型可以选择。在JavaEE环境中默认为JTA,在JavaSE环境中默认为RESOURCE_LOCAL。当在persistent.xml文件使用<jta-data-source>,默认就是JTA事务,使用<non-jta-data-source>,默认就是使用RESOURCE_LOCAL事务。这两种事务的区别不在这里讨论。 EJB Persistence provider的一个实现类。如果不是使用多个厂商的 EJB Persistence实现,是不需要定义的。
指定映射文件的位置 指定要解析的jar。jar中所有注解的类、包和所有的hbm.xml都会被添加到persistent-unit的配置中。主要用在JavaEE环境中。 不检查jar中加了@Entity注解的类。 明确指定要映射的类
shared-cache-mode 缓存模式。加了@Cacheable注解的默认为二级缓存。有四种模式:ALL-缓存所有实体;NONE-禁止缓存;ENABLE_SELECTIVE-如果加了缓存的标识,是默认的选选 项;
validation-mode 实体的验证模式,默认是激活的。当一个实体在创建、更新,在实体发送到数据库前会被进行验证。
配置厂商的一些特定属性。<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" 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_2_0.xsd">
<!--必须要有name属性,不能为空 -->
<persistence-unit name="jpaPU" transaction-type="RESOURCE_LOCAL">
<!--可选 -->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!--可选 -->
<jta-data-source>java:/DefaultDS</jta-data-source>
<!--可选 -->
<mapping-file>ormap.xml</mapping-file>
<!--可选 -->
<jar-file>MyApp.jar</jar-file>
<!--可选 -->
<class>org.acme.Employee</class>
<!--可选 -->
<shared-cache-mode>ENABLE_SELECTOVE</shared-cache-mode>
<!--可选 -->
<validation-mode>CALLBACK</validation-mode>
<!--厂商的特定属性 -->
<properties>
<!--配置Hibernate方言 -->
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
<!--配置数据库驱动 -->
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<!--配置数据库用户名 -->
<property name="hibernate.connection.username" value="root" />
<!--配置数据库密码 -->
<property name="hibernate.connection.password" value="root" />
<!--配置数据库url -->
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpa?useUnicode=true&characterEncoding=UTF-8" />
<!--设置外连接抓取树的最大深度 -->
<property name="hibernate.max_fetch_depth" value="3" />
<!--自动输出schema创建DDL语句 -->
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
</persistence>
transaction-type
provider
mapping-file
jar-file
exclude-unlisted-classes
class
DISABLE_SELECTIVE-
enable caching unless explicitly marked as @Cacheable(false)
(not recommended)CALLBACK
: entities are validated on creation, update and deletion. If no Bean Validation provider is present, an exception is raised at initialization time.properties
相关推荐
本教程将详细介绍如何在Spring MVC与JPA的整合中,去除传统的`persistence.xml`配置文件,转而使用属性文件来配置数据源以及DBCP(BasicDataSource)连接池来访问数据库。 首先,我们需要了解Spring MVC和JPA的基本...
“persistence.xml”文件的结构遵循JPA的规范,主要包含以下几个关键元素: - `<persistence-unit>`:定义一个持久化单元,这是JPA的核心概念,可以看作是数据存储的逻辑分区。 - `<class>`:声明实体类,每个类...
本教程将详细讲解如何通过Spring MVC和JPA的整合,实现无需`persistence.xml`配置文件的数据访问。我们将主要探讨以下几个方面: 1. **Spring MVC介绍**: Spring MVC是Spring框架的一个模块,它提供了模型-视图-...
Java持久化API(Java Persistence API)是Java平台上的一个标准,用于管理和操作关系数据库中的数据。它简化了对象关系映射(ORM),允许开发者以面向对象的方式处理数据,而无需直接编写SQL语句。JPA通过在Java类和...
在 MyEclipse 中,我们可以使用 Hibernate 根据现有的数据库表结构生成实体和 hbm.xml 配置文件,这样可以避免手动编写 JPA 或 Hibernate 实体类。下面是生成实体和 hbm.xml 文件的步骤: 首先,需要创建一个 JPA ...
`persistence.xml`是Java Persistence API (JPA)的标准配置文件,它位于项目的`META-INF`目录下。该文件主要负责定义实体类、数据源、事务管理器、持久化单元等关键信息,为Hibernate提供运行时的配置依据。通过合理...
本文将深入探讨如何利用Spring MVC与JPA进行整合,并通过简化`persistence.xml`配置文件来优化项目结构。 首先,Spring MVC是Spring框架的一部分,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。它提供了...
1. **配置JPA供应商**:在项目的pom.xml(Maven)或build.gradle(Gradle)文件中添加EclipseLink的依赖。 2. **设置数据源**:配置数据库连接信息,如URL、用户名和密码。 3. **实体配置**:在Java类上使用`@Entity...
当你在程序运行时遇到“javax.persistence”问题,这通常意味着你的项目缺少了`javax.persistence.jar`库,导致无法执行JPA相关的操作。解决这个问题的最直接方法就是将提供的压缩包导入到你的项目类路径中,确保JPA...
通过配置部署描述符(如`persistence.xml`),可以指定数据源、实体类、持久化单元等信息,进一步定制持久化行为。 总结来说,`ejb3-persistence.jar`和`hibernate-annotations.jar`是Java企业级开发中的重要组件,...
JPA允许开发者使用面向对象的方式来操作数据库,通过注解(Annotations)和XML配置文件定义对象与数据库表之间的映射。ejb3-persistence.jar中的实现提供了对这些特性的支持,包括: 1. 注解驱动:EJB3.0引入了诸如...
在本案例中,"jboss-web.xml"、"jndi.properties"和"oracle-ds.xml"是针对EJB+JPA在JBoss应用服务器中的配置文件,它们各自承担着不同的职责。 首先,"jboss-web.xml"是JBoss特定的Web应用程序部署描述符,它是...
`persistence.xml` 文件是JPA项目的配置核心,其中定义了持久化单元(Persistence Unit),包括数据源信息、类路径、事务管理方式等配置。例如: ```xml <persistence-unit name="examplePU" transaction-type=...
本书详细介绍了如何配置JPA,包括在Java应用服务器中设置持久化单元(Persistence Unit),以及如何在persistence.xml文件中定义数据源、提供者和其他配置属性。同时,书中还涵盖了事务管理和并发控制,这是多用户...
通过`persistence.xml`文件配置数据源、JPA供应商、实体类等信息。 ### 9. 框架集成 JPA可以与Spring、Hibernate等框架集成,进一步提升开发效率。例如,Spring Data JPA 提供了一种声明式的方式进行数据访问,...
persistence.xml文件是JPA的配置文件,该文件用于配置JPA provider的行为和参数。例如: * persistence-unit:定义了一个持久化单元 * provider:指定了JPA provider的类名,例如Hibernate * properties:定义了...
**JPA(Java Persistence API)**是Java平台上用于对象关系映射(ORM)的一个标准API,它提供了一种规范化的框架来管理Java应用程序中的持久化数据。JPA允许开发者使用面向对象的编程模型来处理数据库操作,使得业务...
接下来,需要在类路径下创建`META-INF/persistence.xml`文件,该文件用于指定JPA实体管理和数据源的信息: ```xml <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.1"> <persistence-...
- **创建JPAHello项目**:这一步包括创建数据库表、创建项目、添加JPA能力到项目中、使用JPA配置文件编辑器修改persistence.xml文件等内容。 - **使用反向工程快速生成JPA实体类和DAO**:MyEclipse提供了一键式工具...