- 浏览: 316113 次
- 性别:
- 来自: 宁波
文章分类
最新评论
-
bqlin1987:
请问是不是ITeye的代码莫名的换行了?
学习SSO-1 Tomcat启用ssl -
a6821122:
在data-config.xml 里的javascript 不 ...
solr导入Oracle日期时间数据的处理 -
jie_kong:
是flexigrid不是flexgrid
FlexGrid自己用的经验 -
zjnbshifox:
呵呵,我也在摸索阶段,谢谢提醒ligywin 写道还需要补充以 ...
CAS自定义Credentials登录 -
ligywin:
还需要补充以下方法import org.apache.comm ...
CAS自定义Credentials登录
真的不好意思,讲了这么久,还没有说JPA是什么呢,JPA是Java Persistence API的缩写
是JSR 220: Enterprise JavaBeans,Version 3.0规范的一部分,是J2EE4中Entity Bean的
继承者,是一个java开发的通用持久化规范Java Persistence API 1.0, 其实就是完全重新
定义了的Entity Bean规范。Java Persistence AP(JPA)吸取了Hiberante,JDO,TopLink等优
秀技术和框架,将这几年发展成熟起来的基于POJO模型的O/R Mapping技术标准化,成为在
J2EE和J2SE环境中通用的java持久化API。值得注意的是Java Persistence API并不是J2EE环境
专用,而是在java中的通用API。意味着我们可以在任何需要访问关系数据库的地方使用JPA,
甚至包括面应用。JPA也不要求一定在J2EE容器中才能运行,而是任何有JVM的环境都可以运用。
这就使得我们可以很容易的把JPA作为一个持久化组件自由的和各种容器/框架(EJB3容器, Spring等等)组合。
JPA最主要的是一个统一的persistence.xml配置文件,可以放到每一个jar的META-INF/目录下面,配置内容主要有
(以hibernate为例)
1、数据库连接的配置文件
2、数据库方言、连接URL、用户名、密码
3、ORM映射的列表(Class)
4、配置其它的Hibernate属性(其他的Provider属性)
5、cache
主要内容,详细内容请看hibernate的reference
spring配置
这样就好了,可以使用entitymanager,每个jar里面可以相互不用影响,而且这个也符合我们新过程改进推进的每个子系统用jar发布的原则,当然这里的还有作service层,对于子系统之间的交互,我觉得,原则上应该仅允许他们在service的层面上进行,在DAO之间不应该有相互的交叉,不过隐约觉
得还有很多东西要做,嗯,很晚了,肚子饿,明天再想,呵呵
哦,对了,Spring真是好东西,封装了这么多东西给我们用,真是期待更好的版本出来啊,
还有,在j2se环境里,也可以通过代码的方式取得JPA的api
是JSR 220: Enterprise JavaBeans,Version 3.0规范的一部分,是J2EE4中Entity Bean的
继承者,是一个java开发的通用持久化规范Java Persistence API 1.0, 其实就是完全重新
定义了的Entity Bean规范。Java Persistence AP(JPA)吸取了Hiberante,JDO,TopLink等优
秀技术和框架,将这几年发展成熟起来的基于POJO模型的O/R Mapping技术标准化,成为在
J2EE和J2SE环境中通用的java持久化API。值得注意的是Java Persistence API并不是J2EE环境
专用,而是在java中的通用API。意味着我们可以在任何需要访问关系数据库的地方使用JPA,
甚至包括面应用。JPA也不要求一定在J2EE容器中才能运行,而是任何有JVM的环境都可以运用。
这就使得我们可以很容易的把JPA作为一个持久化组件自由的和各种容器/框架(EJB3容器, Spring等等)组合。
JPA最主要的是一个统一的persistence.xml配置文件,可以放到每一个jar的META-INF/目录下面,配置内容主要有
(以hibernate为例)
1、数据库连接的配置文件
2、数据库方言、连接URL、用户名、密码
3、ORM映射的列表(Class)
4、配置其它的Hibernate属性(其他的Provider属性)
5、cache
主要内容,详细内容请看hibernate的reference
xml 代码
- xml version="1.0" encoding="UTF-8"?>
- <persistence>
- <persistence-unit name="TestEntityManager" transaction-type="RESOURCE_LOCAL">
- <provider>org.hibernate.ejb.HibernatePersistence<!---->provider>
- <class>com.jl.sub1.mapping.Product<!---->class>
- <class>com.jl.sub1.mapping.ProductItem<!---->class>
- <!---->
- <properties>
- <property name="hibernate.dialect" value="org.hibernate.dialect.DB2Dialect" />
- <property name="hibernate.connection.driver_class" value="com.ibm.db2.jcc.DB2Driver" />
- <property name="hibernate.connection.password" value="db2admin" />
- <property name="hibernate.connection.url" value="jdbc:db2://10.1.1.10:50000/dbjl" />
- <property name="hibernate.connection.username" value="db2admin" />
- <property name="hibernate.ejb.autodetection" value="class" />
- <!---->properties>
- <!---->persistence-unit>
- <!---->persistence>
- <!---->
- <!---->
- <!---->
- <!---->
- <property name="kodo.ConnectionDriverName" value="..."/>
- <property name="kodo.ConnectionURL" value="..."/>
- <property name="kodo.ConnectionUserName" value="..."/>
- <property name="kodo.ConnectionPassword" value="..."/>
- <property name="kodo.Log" value="DefaultLevel=INFO, Runtime=DEBUG, Tool=INFO"/>
spring配置
xml 代码
- <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
- <property name="entityManagerName" value="TestEntityManager" />
- <property name="jpaProperties">
- <props></props>
- </property>
- </bean>
- <!-- 此处的名字要和persistence.xml中定义的name一致-->
- <!-- jpaProperties此属性必须要加,hibernate3.1.2的一个bug,否则会抛NullPointerException,springframework论坛告诉我的:)-->
- <bean class=
- "org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"/>
- <!--貌似这个部分所有spring配置文件还是仅允许一个,可以配置到公共的xml中-->
- <!--引用上面建立的entityManagerFactory-->
- <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
- <property name="entityManagerFactory“ ref="entityManagerFactory" />
- </bean>
- <bean id="transactionInterceptor"
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
- <property name="transactionManager" ref="transactionManager" />
- <property name="transactionAttributeSource">
- <bean class=
- "org.springframework.transaction.annotation.AnnotationTransactionAttributeSource" />
- </property>
- </bean>
- <bean class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
- <property name="transactionInterceptor" ref="transactionInterceptor" />
- </bean>
- <!--自定义DAO-->
- <bean id="numberDao" class="dao.JpaNumberDAO">
- <property name="entityManagerFactory“ ref="entityManagerFactory" />
- </bean>
- <!--DAO需继承自org.springframework.orm.jpa.support.JpaDaoSupport-->
- <!--DAO中可以通过getJpaTemplate()的各种方法进行持久化操作-->
这样就好了,可以使用entitymanager,每个jar里面可以相互不用影响,而且这个也符合我们新过程改进推进的每个子系统用jar发布的原则,当然这里的还有作service层,对于子系统之间的交互,我觉得,原则上应该仅允许他们在service的层面上进行,在DAO之间不应该有相互的交叉,不过隐约觉
得还有很多东西要做,嗯,很晚了,肚子饿,明天再想,呵呵
哦,对了,Spring真是好东西,封装了这么多东西给我们用,真是期待更好的版本出来啊,
还有,在j2se环境里,也可以通过代码的方式取得JPA的api
java 代码
- EntityManagerFactory emf =
- Peristence.createEntityManagerFactory(“TestEntityManager”) ;
- //此处的名字要和persistence.xml中
- //定义的name一致
- EntityManager em = emf.createEntityManager();
- ...//使用
- em.close();
- ...
- emf.close();
- EntityManagerFactory emf =
- Peristence.createEntityManagerFactory(“TestEntityManager”) ;
- EntityManager em = emf.createEntityManager();
- ...//使用
- em.close();
- ...
- emf.close();
发表评论
-
jasper report与Spring mvc整合
2015-10-19 16:02 1651配置jasper view resolver <be ... -
solr导入Oracle日期时间数据的处理
2013-02-08 10:01 5165参考文章: http://stackoverflow.com/ ... -
solr服务端加亮设置
2013-02-06 23:25 1321在${solr.home}/conf/solrconfig.x ... -
Solr客户端自定义开发
2013-02-06 16:52 1688@Service @Qualifier(" ... -
CAS 客户端获取Credentials额外信息
2013-02-06 09:40 4018服务端的配置 1、在deployerContext.xml中加 ... -
CAS自定义Credentials登录
2013-02-02 00:03 7993先看了这篇文章http://www.blogjava.net/ ... -
Spring data MongoDB DSL
2013-01-29 13:38 2614这两天自己配置了一个通过Spring Data来连接Mongo ... -
Spring MVC和freemarker配置
2013-01-21 13:45 2488参考文章:http://www.cnblogs.com/hoo ... -
我自己的maven环境
2013-01-17 14:37 1112今天把自己的maven环境记录下来,准备重装系统能找到 mav ... -
Spring-data jpa学习
2013-01-17 14:25 1821一个早上加一个中午就耗在这里了啊,就一个小问题,让我吐血不已, ... -
今天学会的DetachedCriteria用法
2013-01-12 22:01 10191以前用hibernate,一般都是使用hql语句的,因为和sq ... -
学习SSO-1 Tomcat启用ssl
2012-11-29 10:41 6995根据网上的http://www.kafeitu.me/sso/ ... -
Solr连接数据库
2012-04-10 09:40 6221要建立自己的全文检索 ... -
Solr试用小记
2012-04-10 09:15 15731、下载tomcat7、solr 3.5.0 以及IKAnal ... -
java生成二维码,qrcode
2012-03-22 15:41 7024通过barcode4j生成 @Controller @R ... -
使用HttpClient 4.1.2调用webservice
2012-01-19 14:22 19262下载httpclient,把压缩包里lib目录的所有jar放到 ... -
Spring MVC3 Hibernate3 Annotation 补充
2011-05-30 11:59 1411通过配置文件进行事务声明 app-config.xml & ... -
Spring MVC3 Hibernate3 Annotation
2011-05-30 11:56 1780web.xml <?xml version=&quo ... -
Tomcat Mod_jk负载均衡Session复制的几点补充
2010-02-24 16:49 1339tomcat和mod_jk进行负载均衡的时候,如果要实现Ses ... -
第一次实际应用Spring MVC
2009-11-17 08:37 1604要做一个简单的投票的东西,看spring mvc的文章已经很久 ...
相关推荐
2. **实体管理工厂(EntityManagerFactory)**: 这是创建和配置JPA的入口点,通过它我们可以获取到`EntityManager`实例。一般在应用启动时创建,然后在整个应用生命周期内复用。 3. **实体管理器(EntityManager)*...
《Pro JPA2:精通Java™ Persistence API》是一本由Mike Keith和Merrick Schincariol撰写的关于Java持久化API(JPA)的权威指南。本书深入探讨了JPA2,即Java Persistence API的第二版,是Java EE 6标准的一部分。...
"JavaOne2009-JPA2映射的神秘之旅.pdf" 和 "JavaOne2009-JPA2新特征.pdf" 这两个文档,显然涵盖了JPA2的重要概念和新特性,特别是关于映射和框架的最新发展。以下是这两个主题的主要知识点: 1. **JPA2新特性**: ...
**JPA(Java Persistence API)**是...总之,"JPA大全之经典全集"这个资源集合对于学习和掌握JPA有着重要的价值,无论是初学者还是经验丰富的开发者,都能从中受益,深入理解JPA的各个方面,提升自己的数据库编程能力。
JPA2是Java Persistence API的第二个版本,是众多Java企业级开发者首选的对象关系映射(Object-Relational Mapping,简称ORM)解决方案。本书《Pro JPA 2版》是一部深入介绍JPA2的权威书籍,作者通过全面的内容和...
2. **实体管理器(EntityManager)**:作为持久化的主要入口点,负责实体的创建、加载、更新和删除,以及执行查询操作。 3. **实体管理工厂(EntityManagerFactory)**:创建EntityManager实例,配置JPA的持久化单元...
在这个"struts2 jpa project"中,我们看到这两个技术的结合,创建了一个演示性的实例。这个项目旨在展示如何在Struts2框架下利用JPA进行数据持久化操作。 首先,Struts2的配置文件(如struts.xml)是关键,它定义了...
Struts2整合Spring和JPA是企业级Java应用开发中常见的技术组合,它们分别负责不同的职责:Struts2作为一款成熟的MVC框架,主要用于处理Web层的请求与响应;Spring作为一个全面的轻量级框架,提供了依赖注入(DI)和...
Hibernate是最早的ORM框架之一,后来成为了JPA的一个实现。Hibernate JPA提供了JPA规范的全部功能,并且在JPA的基础上扩展了一些特性,如更强大的 Criteria 查询、HQL(Hibernate Query Language)等。Hibernate JPA...
总的来说,这个"spring 整合 hibernate jpa2 实例"展示了如何利用Spring的便利性和JPA2的强大功能来简化数据库操作。通过合理的配置和接口设计,我们可以构建出高效、易于维护的Java应用。同时,使用Maven作为构建...
【SpringBoot2】 SpringBoot是由Pivotal团队提供的全新...总的来说,SpringBoot2+jpa+mysql的组合为开发者提供了一个高效、便捷的后端开发环境,简化了项目的搭建和数据库操作,让开发者能够更专注于业务逻辑的实现。
2. JPA的主要组件和接口的详细说明。 3. JPA注解的全面介绍,包括如何使用它们来定义实体类、字段属性以及关系映射。 4. Oracle数据库与JPA的集成,包括驱动配置、数据源设置等。 5. 使用JPA进行CRUD(创建、读取、...
OpenJPA2是一个开源的对象关系映射(ORM)框架,它是Java Persistence API(JPA)规范的实现。在这个“Open JPA2 employee简单例子”中,我们将深入理解如何使用OpenJPA2来处理数据库中的员工数据。这个示例将帮助...
《Pro JPA2》是一本深入探讨Java Persistence API(JPA)2.0版本的专业书籍,旨在帮助开发者全面理解和熟练运用这一强大的ORM(对象关系映射)框架。JPA是Java平台上的标准,用于管理数据库中的对象关系,它极大地...
2. **属性映射(Attribute Mapping)**: - `@Basic`:用于基本类型的字段,表明其为简单的属性。 - `@Column`:定义属性映射到数据库表的列,包括列名、长度、是否允许为空等。 - `@Temporal`:用于日期和时间...
1. **Repository Abstraction**:这是 Spring Data JPA 的核心特性之一。它提供了一种声明式的数据访问接口,允许开发者定义自定义的查询方法,而不需要手动编写 SQL 或者 HQL(Hibernate Query Language)。例如,...
在IT领域,Spring框架是Java开发中的核心工具之一,它为构建企业级应用程序提供了全面的解决方案。Spring框架的核心特性包括依赖注入(DI)和面向切面编程(AOP),并且它还提供了对数据库操作的支持,这主要通过...
2. 在Eclipse RCP中使用JPA时,通常需要处理应用的生命周期和依赖性管理。OSGi环境中的每个模块被称为一个“Bundle”,每个Bundle都可以有自己的类加载器,这样可以避免类之间的冲突,实现更细粒度的控制。然而,...
2. CrudRepository:继承自 Repository,提供了基本的 CRUD 功能,如 save、delete、findById 等。 3. PagingAndSortingRepository:扩展自 CrudRepository,增加了分页和排序的能力。 4. JpaRepository:是 ...