🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### @Entity ``` 定义对象将会成为被JPA管理的实体,将映射到指定的数据库表 ``` ### @Table ``` 指定数据库的表名 ``` ### @Id ``` 主键,一个实体里必须有一个 ``` ### @GeneratedValue ``` 主键生成策略 table : 通过表产生主键 sequence : 通过序列产生主键,MySQL不支持 identity : id自增长 auto : jpa自动选择合适的策略,默认选项 ``` ### @IdClass ``` @IdClass利用外部类的联合主键 作为联合主键类,必须满足一下几个要求: 1. 必须实现Serializable接口 2. 必须有默认的public无参数的构造方法 3. 必须覆盖equals和hashCode方法 ``` ### @Basic ``` @Basic表示属性是到数据库表的字段的映射。如果实体的字段上 没有任何注解,默认即为@Basic ``` ### @Transient ``` @Transient表示该属性并非一个到数据库表的字段的映射,表示 非持久化属性,与@Basic作用相反。JPA映射数据库的时候忽略它 ``` ### @Column ``` @Column定义该属性对应数据库中的列名 ``` ### @Temporal ``` @Temporal用来设置Date类型的属性映射到对应精度的字段 ``` ### @Enumerated ``` @Enumerated很好用,直接映射enum枚举类型的字段 ``` ### @Lob ``` 将属性映射成数据库支持的大对象类型,支持以下两种数据库类型的字段 Clob Blob Clob、Blob占用内存空间较大,一般配合@Basic(fetch=FetchType.LAZY)将其设置为延迟加载 ```