inserttable:是否可以插入
updateable:是否可以更新
columnDefinition: 定义建表时创建此列的DDL
secondaryTable: 从表名,如果此列不建在主表上(默认建在主表),该属性定义该列所在从表的名字搭建开发环境
@Entity //声明实体类
@Table(name=“cst_customer”) //建立实体类和表的映射关系
public class Customer implements Serializable {
@Id//声明当前私有属性为主键
@GeneratedValue(strategy= GenerationType.IDENTITY) //配置主键的生成策略
@Column(name=“cust_id”) //指定和表中cust_id字段的映射关系
private Long custId;
@Column(name=“cust_name”) //指定和表中cust_name字段的映射关系
private String custName;
@Column(name=“cust_source”)//指定和表中cust_source字段的映射关系
private String custSource;
@Column(name=“cust_industry”)//指定和表中cust_industry字段的映射关系
private String custIndustry;
@Column(name=“cust_level”)//指定和表中cust_level字段的映射关系
private String custLevel;
@Column(name=“cust_address”)//指定和表中cust_address字段的映射关系
private String custAddress;
@Column(name=“cust_phone”)//指定和表中cust_phone字段的映射关系
private String custPhone;
/**
- Get、Set、toString
*/
}
配置JPA的核心配置文件:
在java工程的src路径下创建一个名为META-INF的文件夹,在此文件夹下创建一个名为persistence.xml的配置文件
<?xml version="1.0" encoding="UTF-8"?>org.hibernate.jpa.HibernatePersistenceProvider
Persistence对象: 主要作用是用于获取EntityManagerFactory对象的,通过调用该类的createEntityManagerFactory静态方法,根据配置文件中持久化单元名称创建EntityManagerFactory。
String unitName = “myJpa”;
EntityManagerFactory factory= Persistence.createEntityManagerFactory(unitName);
EntityManagerFactory:主要用来创建 EntityManager 实例,由于EntityManagerFactory 是一个线程安全的对象(即多个线程访问同一个EntityManagerFactory 对象不会有线程安全问题),并且EntityManagerFactory 的创建极其浪费资源,所以在使用JPA编程时,我们可以对其进行优化,满足一个项目中只有一个EntityManagerFactory。
//创建实体管理类
EntityManager em = factory.createEntityManager();
EntityManager: 是完成持久化操作的核心对象,通过调用 EntityManager可以将实体类转化为持久化对象。EntityManager对象在一组实体类与底层数据源之间进行 O/R 映射的管理。它可以用来管理和更新 Entity Bean, 根椐主键查找 Entity Bean, 还可以通过JPQL语句查询实体。
<