写在前面的话
这两天一直在看JPA的相关内容,一下对最近的了解的信息进行整理,以前一直不了解什么是JPA,现在有了清晰的认识以作记录。
JPA是什么
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
起源
Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。
JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分。但它不囿于EJB 3.0,你可以在Web应用、甚至桌面应用中使用。JPA的宗旨是为POJO提供持
继续阅读 »
JPA是一套相当优秀的持久化规范,本例子使用的是Hibernate对JPA提供的实现。下来我们来开始体验一下。
准备活动
下载Hibernate,直接google官网或者直接访问http://hibernate.org/orm/地址下载即可。
本例子下载的版本为:hibernate-release-4.3.5.Final
Jar包
解压缩下载的hibernate的压缩包,打开lib目录可以看到下面左侧的图片,我们在eclipse中创建一个java project项目,导入jar文件,jar文件直接从lib目录的jpa和required两个目录拷贝即可。创建的项目图片如下右侧图片
左--右
配置
在项目的src路径下面
继续阅读 »
再JPA小例子中,提到了什么托管、什么游离状态,弄得我一头雾水,具体google了一下顿时明白了。
JPA中bean有四种状态:新建、托管、游离、删除。
当new Person();对象是处于新建状态;
当使用em.getTransaction().begin();开启事物后,执行下面的代码
继续阅读 »
前期准备
开发环境的搭建工作完全可以参考jpa小例子。
该程序的例子使用班级和学生进行,班级和学生的关系是一对多的关系,反过来学生和班级的关系是 多对一的关系。所以从这个例子中我们就可以学习到这两个关系的处理。
基本知识
在OneToMany和ManyToOne使用过程中,需要我们明确两个概念:关系维护端和关系被维护端。关系维护端负责更新关系的外键等操作。在程序中被标记mappBy的表示关系被维护端,只有关系维护端有权更新外键。
数据加载方式可以根据名字进行辨别,OneToMany默认的加载方式是懒加载,从设置的关系中(OneToMany和ManyToOne)最后一个单词是Many,那么该加载默认为懒加载。
在所有的关系中On
继续阅读 »
前期准备
开发环境的搭建工作完全可以参考jpa小例子。我们直接对前期使用的Person表进行操作,直接操作SQL我们直接在单元测试中展示。
代码
```
package com.nova.bean;
继续阅读 »
前期准备
开发环境的搭建工作完全可以参考jpa小例子。
该程序使用人和身份证进行说明
代码
下面是user班级的类
```
package com.nova.bean;
继续阅读 »