假如我想在JPA中自动建表
字段名 | 类型 | 内存 |
---|---|---|
nameId | char | 22 |
如果我想用jpa创建一个这样的字段属性
@Column(name="nameid",columnDefinition="char(22)")
private String nameId;
下面是我的项目真实案例
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import javax.validation.constraints.Pattern;
import java.util.Date;
/**
* @author 一只小小狗
* @version 1.0.0
* @ClassName EmployeeBean.java
* @Description TODO
* @createTime 2021年07月27日 21:25:00
*/
//@EntityListeners(AuditingEntityListener.class) 实体监听器 启动时间监听
@EntityListeners(AuditingEntityListener.class)
@Entity
@Table(name = "EMPLOYEE")
public class EmployeeBean {
/**
* 员工号 CHAR(11) E0000000001
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "Employee_id",columnDefinition = "char(11)")
private Long id;
/**
* 员工姓名 VARCHAR2(40)
*/
@Column(name = "Employee_name",length = 40)
private String name;
/**
* 性别 CHAR(1) 0:女 1:男
*/
@Pattern(regexp = "[01]")
@Column(name = "Employee_gender",columnDefinition = "char(1)")
private String gender;
/**
* 身份证号 CHAR(18)
*/
@Pattern(regexp = "^([1-6][1-9]|50)\\d{4}(18|19|20)\\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$")
@Column(name = "Employee_gender",columnDefinition = "char(18)")
private String identityCard;
/**
* 出生日期 DATE YYYY-MM-DD
*/
@Column(name = "Employee_date")
@JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date date;
/**
* 家庭地址 VARCHAR2(100)
*/
@Column(name = "Employee_address",length = 100)
private String address;
/**
* 所属部门 CHAR(2) 01:金融一部
* 02:金融二部
* 03:创新中心
*/
@Pattern(regexp = "(01|02|03)")
@Column(name = "Employee_department",columnDefinition = "char(2)")
private String department;
/**
* 创建时间 DATE
*/
@CreatedDate
@Column(name = "Create_Time",updatable = false,nullable = false,length = 50)
private Date createTime;
/**
* 修改时间 DATE
*/
@LastModifiedDate
@Column(name = "Update_Time",nullable = false,length = 50)
private Date updateTime;
}