zoukankan      html  css  js  c++  java
  • JPA的@Entity@Table@Column@Id

    JPA是Java Persistence Api的简称,可以将一个正常java实体类映射到数据库。通过对java对象的操作来实现对数据库的操作。

    JPA定义了注解来实现这一步骤。

    import lombok.Data;
    
    import javax.persistence.*;
    
    @Data
    @Entity
    @Table(name="user_info")
    public class User {
        @Id
        @GeneratedValue
        int id;
        @Column(name = "user_name",nullable = true)
        String name;
        int age;
    }

    @Entity 表明该类为一个实体类,默认会找到一个对应的表名(表名首字母大写,并将_去掉,同事将_后的首字母大写)。

      常用属性:name,指定表名

      也可以自定义表名:

      @Entity(name = “user”)

    @Table,当实体类名与表名不一致时,可以通过该注解修改。

      常用属性:name,指定表。

      @Table(name = “user”)

    @Cloumn,与表名类似,实体类属性和表的字段有相应的对应规则,但是如果想自定义,可以使用该注解。

      常用属性:

        name,指定列名。

        unique,是否唯一。

        nullable,是否允许为空。

        length,对于字符型,指定最大字符长度。

        insertable,是否允许插入。

        updatetable,是否允许更新

    @id,写在属性上,指定表的主键。

      它有多种生成方式:

      TABLE:容器指定用底层的数据表确保唯一;

      SEQUENCE:使用数据库德SEQUENCE列莱保证唯一(Oracle数据库通过序列来生成唯一ID);

      IDENTITY:使用数据库的IDENTITY列莱保证唯一;

      AUTO:由容器挑选一个合适的方式来保证唯一;

      NONE:容器不负责主键的生成,由程序来完成。

      @id注解还有俩个配套的注解:@GeneratedValue、@GenericGenerator,用来指定主键生成策略。

      @GenericValue,JPA通用策略生成器,默认为Auto方式。

      @GenericGenerator,自定义主键生成策略。

    就算这个世道烂成一堆粪坑,那也不是你吃屎的理由
  • 相关阅读:
    初学三种神经网络(前馈,竞争,递归联想存储网络)
    链表操作,空间复杂度要求为O(1)
    单链表的回文判断(O(n)时间复杂度和O(1)的空间复杂度)
    Floyd算法小结
    排序算法Java实现(基数排序)
    排序算法Java实现(归并排序)
    排序算法Java实现(堆排序)
    排序算法Java实现(选择排序)
    排序算法Java实现(快速排序)
    排序算法Java实现(冒泡排序)
  • 原文地址:https://www.cnblogs.com/whalesea/p/12860575.html
Copyright © 2011-2022 走看看