- 对象关系映射
| 映射 | 注解 |
|---|---|
| 一对一 | @OneToOne |
| 一对多 | @OneToMany |
| 多对一 | @ManyToOne |
| 多对多 | @ManyToMany |
- 实体注解说明
| 注解 | 说明 |
|---|---|
| @Entity | 说明这个类是一个实体类,用在类上面 |
| @Id | 使用在数据库主键的字段上 |
| @Table | 说明该类的对于数据库是哪一张数据库表,和@Entity配合一起使用 |
| @Column | 用在类的属性上面,说明这个属性对应数据库表是哪个字段 |
| @GeneratedValue | 是用于数据库主键的生成策略,通过strategy属性指定 |
| @Transient | 使用该注解,表示该属性不会映射到数据库表 |
| @Temporal | 做Date类型精度转换使用 |
- 实体的增删改查操作
| 实体操作 | 说明 |
|---|---|
| 新增 | EntityManager提供persist()方法来插入数据记录 |
| 根据ID查找 | EntityManger接口提供了find()方法,该方法根据主键搜索一个元素 |
| 根据ID删除 | EntityManager接口提供remove()方法,使用主键来删除特定的记录 |
新增代码
EntityManagerFactory emf = Persistence.createEntityManagerFactory("Student_details");
EntityManager em = emf.createEntityManager();
StudentEntity s1 = new StudentEntity();
s1.setId(1001);
s1.setName("James");
s1.setAge(28);
em.persist(s1);
em.getTransaction().commit();
em.close();
emf.close();
根据ID查找
EntityManagerFactory emf = Persistence.createEntityManagerFactory("Student_details");
EntityManager em = emf.createEntityManager();
StudentEntity s = em.find(StudentEntity.class, 1001);
根据ID删除
EntityManagerFactory emf = Persistence.createEntityManagerFactory("Student_details");
EntityManager em = emf.createEntityManager();
em.remove(em.contains(entity) ? entity : em.merge(entity));
JPA实体注解与操作详解
文章详细介绍了JavaPersistenceAPI中的对象关系映射注解,如@OneToOne、@OneToMany、@ManyToOne、@ManyToMany,以及@Entity、@Id、@Table等核心注解的用法。同时,阐述了如何利用EntityManager进行实体的新增、查找和删除操作,包括persist()、find()和remove()方法的使用。
6239

被折叠的 条评论
为什么被折叠?



