JPA(Java Persistence API)学习三(JPA实体)

1.介绍

   一般来说,实体是在一个单一的单位联合在一起的一组状态。

   在添加行为时,实体表现为对象并成为面向对象范例的主要组成部分。

   所以,实体可以理解为Java持久性库中定义的对象。 

 

2.实体属性(对象必须具有的实体的属性)

  持久性 - 如果一个对象存储在数据库中并且可以随时访问,则该对象称为持久性。

  持久性标识 - 在Java中,每个实体都是唯一的,并表示为对象标识。

          同样,当对象标识存储在数据库中时,它被表示为持久性标识。

          该对象标识等同于数据库中的主键。

  事务性 - 实体可以执行各种操作,例如:创建,删除,更新。 每个操作都会对数据库进行一些更改。

        它确保无论数据库中的任何更改是原子级成功还是失败。

  粒度 - 实体不应该是基元,原始包装或具有单维状态的内置对象。

 
3.实体元数据
   概述:每个实体都与一些代表它的信息的元数据相关联。
       这个元数据不是数据库,而是存在于类内部或外部。
   此元数据可以采用以下形式:
        注解 - 在Java中,注解是表示元数据的标签形式。 这个元数据保存在类中
        XML - 在此形式中,元数据在XML文件的类外部保存。
 
4.创建实体
  概述:Java类可以很容易地转换成实体。
  实体转换,基本要求:无参数构造函数,注解
  例子:
      简单的一个学生类(Student)      
      public class Student {
            private int id;
            private String name;
            private long fees;
            public Student() { }
            public Student(int id) {
               this.id = id;
             }
            public int getId() {
                return id;
             }
            public void setId(int id) {
                  this.id = id;
            }
           public String getName() {
                  return name;
           }
           public void setName(String name) {
                this.name = name;
           }
          public long getFees() {
               return fees;
          }
         public void setFees(long fees) {
              this.fees = fees;
         }
     }

    如何转换成实体:
    上面的类是一个常规的java类,有三个属性: id, namefees
     要将此类转换为实体,请在此类中添加@Entity@Id注解。
     @Entity - 这是一个标记注释,表明这个类是一个实体。这个注释必须放在类名称上。
     @Id - 此注释位于持有持久标识属性的特定字段上。该字段被视为数据库中的主键。
     如下:
         @Entity
         public class Student {
            @Id
            private int id;
            private String name;
            private long fees;
            public Student() { }
            public Student(int id) {
               this.id = id;
             }
            public int getId() {
                return id;
             }
            public void setId(int id) {
                  this.id = id;
            }
           public String getName() {
                  return name;
           }
           public void setName(String name) {
                this.name = name;
           }
          public long getFees() {
               return fees;
          }
         public void setFees(long fees) {
              this.fees = fees;
         }
     }

学习来源:https://www.yiibai.com/jpa/jpa-creating-an-entity.html#article-start
posted @ 2020-09-07 17:28  小窝蜗  阅读(437)  评论(0编辑  收藏  举报