JPA,一套相当优秀的持久化规范,开始体验。
1、我使用Hibernate对JPA提供的实现,下载hibernate-release-4.1.1.Final.zip。解压。
在hibernate-release-4.1.1.Final/lib目录下有四个存放jar包的目录,其中
hibernate-release-4.1.1.Final/lib/jpa 存放hibernate对JPA提供实现的jar
hibernate-release-4.1.1.Final/lib/required 存放hibernate开发所需jar
这两个目录下的所有jar是我们体验JPA所必需的。
2、新建一个Java Project。
2.1 导入hibernate-release-4.1.1.Final/lib/jpa目录和hibernate-release-4.1.1.Final/lib/required目录下得所有jar
2.2 在项目的classpath路径下建立META-INF目录
在META-INF目录下建立persistence.
1 2
用的是mysql,请建立一个名叫jpa的数据库。无需手动建表,执行测试的时候会自动建表。
3、项目视图如下:
4、编写实体类。
1 package com.cndatacom.jpa.entity; 2 3 import javax.persistence.Column; 4 import javax.persistence.Entity; 5 import javax.persistence.GeneratedValue; 6 import javax.persistence.Id; 7 import javax.persistence.Table; 8 9 @Entity10 @Table(name="t_user")11 public class User {12 13 /**14 * 主键15 */16 @Id17 @GeneratedValue18 private Long id;19 20 /**21 * 名字22 */23 @Column(name="name")24 private String name;25 26 /**27 * 密码28 */29 @Column(name="password")30 private String password;31 32 public Long getId() {33 return id;34 }35 36 public void setId(Long id) {37 this.id = id;38 }39 40 public String getName() {41 return name;42 }43 44 public void setName(String name) {45 this.name = name;46 }47 48 public String getPassword() {49 return password;50 }51 52 public void setPassword(String password) {53 this.password = password;54 }55 56 }
5、编写测试类。
1 package com.cndatacom.jpa.test; 2 3 import javax.persistence.EntityManager; 4 import javax.persistence.EntityManagerFactory; 5 import javax.persistence.Persistence; 6 7 import org.junit.After; 8 import org.junit.Before; 9 import org.junit.Test;10 11 import com.cndatacom.jpa.entity.User;12 13 14 public class TestJPA {15 16 EntityManagerFactory emf = null;17 18 @Before19 public void before() {20 //根据在persistence.登录后复制
6、一些说明。
@Entity 将领域标注为一个实体,表示要保存到数据库中。
@Table 指定在数据库中对应的表名
@Id 对应的属性是表的主键
@GeneratedValue 主键的产生策略,这里表示使用默认的GenerationType.AUTO
@Column 属性对应数据库表中的列,name指定列名,不写name的话,属性名和列名一致。
bitsCN.com