当前位置: 代码迷 >> 综合 >> springboot 实体JPA
  详细解决方案

springboot 实体JPA

热度:96   发布时间:2024-02-11 00:02:07.0

 

@Data
/*
*  1、@Data可以为类提供读写功能,从而不用写get、set方法。2、他还会为类提供 equals()、hashCode()、toString() 方法。**  <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.10</version></dependency>** @Data的作用相当于省略了get和set方法,简洁了代码* */
@Entity      //说明这个类是实体类/*@Entity
标记一个类为实体类,添加该注解后,会在数据库中创建一个和类名相同的表。@Entity注释指名这是一个实体Bean* */
@Table(name = "org_zw")  //使用@table来改变class名与数据库中表名的映射规则//DutyEntity类名   数据库表名org_zw/** @Table注释指定了Entity所要映射带数据库表,其中@Table.name()用来指定映射表的表名。** 如果缺省@Table注释,系统默认采用类名作为映射表的表名。** 实体Bean的每个实例代表数据表中的一行数据,行中的一列对应实例中的一个属性。* */
public
class DutyEntity implements Serializable {@Id/*Id注释指定表的主键,它可以有多种生成方式:1)TABLE:容器指定用底层的数据表确保唯一;2)SEQUENCE:使用数据库德SEQUENCE列莱保证唯一(Oracle数据库通过序列来生成唯一ID);3)IDENTITY:使用数据库的IDENTITY列莱保证唯一;4)AUTO:由容器挑选一个合适的方式来保证唯一;5)NONE:容器不负责主键的生成,由程序来完成。*/ @Column(name = "zw_id")//@Column来改变class中字段名与db中表的字段名的映射规则/*@Column注释定义了将成员属性映射到关系表中的哪一列和该列的结构信息,属性如下:1)name:映射的列名。如:映射tbl_user表的name列,可以在name属性的上面或getName方法上面加入;2)unique:是否唯一;3)nullable:是否允许为空;4)length:对于字符型列,length属性指定列的最大字符长度;5)insertable:是否允许插入;6)updatetable:是否允许更新;7)columnDefinition:定义建表时创建此列的DDL;8)secondaryTable:从表名。如果此列不建在主表上(默认是主表),该属性定义该列所在从表的名字。*/private String zwId;@Column(name = "zw_code")