javajpa
㈠ jpa是什么,和hibernate类似
1、JPA全称java Persistence API. JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
JPA的主要目标之一就是提供更加简单的编程模型:在JPA框架下创建实体和创建Java 类一样简单,没有任何的约束和限制,只需要使用 javax.persistence.Entity进行注释,JPA的框架和接口也都非常简单,没有太多特别的规则和设计模式的要求,开发者可以很容易地掌握。JPA基于非侵入式原则设计,因此可以很容易地和其它框架或者容器集成。
2、Hibernate是JPA的具体实现。但是Hibernate出现的时间早于JPA。JPA是SUN在持久化框架发展起来后提出的规范。Hibernate从3.2开始,就开始兼容JPA。Hibernate3.2获得了Sun TCK的JPA(JavaPersistence API) 兼容认证。
Hibernate作为JPA的一种实现,jpa的注解已经是hibernate的核心,hibernate只提供了一些补充,而不是两套注解。hibernate对jpa的支持够足量,在使用hibernate注解建议使用jpa。
(1)javajpa扩展阅读
JPA查询能力
JPA的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是Hibernate HQL的等价物。JPA定义了独特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 sql 才能够提供的高级查询特性,甚至还能够支持子查询。
高级特性
JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化。
㈡ java用JPA怎么把图片存入到Oracle数据库中,然后展示在jsp页面注:保存的图片用Oracle.sql.BLOB类型
我不同意楼上两位的观点,这个也是分场合的,比如仅仅是图片不是像其他的几十兆的甚至几百兆的完全可以直接存数据库,比如你的网站会员有10万。用文件夹管理这10万会员的图片?万一有人不小心移动图片位置或者被删除之类的情况会很难处理,再说效率有有谁真的试过呢?jpa跟spring整合的时候,如果是spring3.1版本以锋森下是需要设置一个lobhandler的bean。这里面会有默认的lobhandler以及专为oracle 9i的设置,具体的你搜索spring lobhandler。如果是spring3.1就不需仿察要任何的配置的,比如private byte[] image.其上加注解@Basic @Lob.然后直接调用或者repository的save(entity)就能存储了当然你的byte[]得是从文件转来的,至于显示如果是struts2最简单的就是使用类型为stream的result type。如果是spring mvc注解@ResponseBody.具体的代码有点多也不可能直接写在这里我现在上班晚上回去拷贝一备基茄份给你。各种实现方法的都有。
㈢ JPA是什么
JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate、TopLink,JDO等ORM框架的基础上发展而来的,具有易于使用、伸缩性强等优点。从目前的开发社区的反应上看,JPA受到了极大的支持和赞扬,其中就包括了Spring与EJB3.0的开发团队。着眼未来几年的技术走向,JPA作为ORM领域标准化整合者的目标应该不难实现。 JPA的总体思想和现有Hibernate、TopLink、JDO等ORM框架大体一致。总的来说,JPA包括以下3方面的技术:ORM映射元数据JPA支持XML和JDK5.0注解两种元数据形式,元数据描述对象和表之间的映射关系,框架据此将实现对象持久化到数据库表中。Java持久化API用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者可以从繁琐的JDBC和SQL代码中解脱出来。查询语言这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合
㈣ java中用jpa往数据库表中添加数据怎么实现
jpa是实现面向对象的数据持久化的一套标准api。要实现对象的持久化,需要首先建立java bean到关系数据库的映射关系(使用java注释或xml),然后新建/修改java bean实例后调用jpa相关的接口实现对象的持久化,相关的sql操作由jpa底层自动完成。具体参考jpa的文档。
㈤ 通常所说的jpa指的是啥
1. JPA概念
Java persistence API的简称,中文名是Java持久层API,
是JDK5.0注解或XML描述对象-关系表的映射关系,
并将运行期的实体对象持久化到数据库中。
(对象持久化:是将内存中的对象保存到可永久保存的存储设备中的一种技术)
2. JPA出现的原因
1.简化现有JavaEE和JavaSE应用的对象持久化的开发工作;
2.Sun希望整合ORM技术,实现在持久化领域的统一应用;
3. JPA提供的技术
1.ORM映射元数据
JPA支持XML和JDK5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系框架据此将实体对象持久化到数据库表中;(元数据:是指用来描述数据的数据,就是描述代码间关系的数据,如:hibernate是用hbm文件。JDK5.0出来后,java语言中就有了四种类型(TYPE),即类(class)、枚举(enum)、接口(interface)和注解(@interface),它们是处在同一级别的。java就是通过注解来表示元数据的。)
2.JPA的API
用来操作实体对象,执行crud操作,框架在底层替我们完成所有的事情,开发者从繁琐的JDBC 和 SQL代码中解脱;
3.查询语言
通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合;
㈥ Spring Boot数据库交互之Spring Data JPA
JPA全称为Java Persistence API(Java持久层API),它是Sun公司在JavaEE 5中提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具,来管理Java应用中的关系数据,JPA吸取了目前Java持久化技术的优点,旨在规范、简化Java对象的持久化工作。很多ORM框架都是实现了JPA的规范,如:Hibernate、EclipseLink。
Spring Data JPA旨在通过减少实际需要的工作量来显着改善数据访问层的实现。它在JPA的基础上做了一些封装,可以轻松实现基于JPA的存储库。 此模块处理对基于JPA的数据访问层的增强支持。 它使构建使用数据访问技术的Spring驱动应用程序变得更加容易。
需要注意的是JPA统一了Java应用程序访问ORM框架的规范
JPA为我们提供了以下规范:
以上的定义引用自网络技术文章,我还在不断理解与学习中,我们先来Demo一个例子:
5分钟入手Spring Boot
http://127.0.0.1:8080/getLead?leadId=10xxxx46 或 http://127.0.0.1:8080/getLead/10xxxx46
其中第一条SQL是非nativeQuery的,第二、三条SQL是nativeQuery的,nativeQuery的SQL就是我们平常写的sql,而非nativeQuery的SQL,是Spring Boot JPA帮我们生成的。