编写持久化对象-注解生成或者更新表字段
@Id
字段为表主键映射
@GeneratedValue
主键生成策略
AUTO,TABLE,IDENTITY(自增注解,数据库支持主键自动增长),SEQUENCE(序列生成)
实例:@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
@Column
配置普通属性-默认注解可以省略,同@Basic
其属性:
nullable(是否允许为空)
unique(是否唯一)
insertable(是否允许插入)
updatable(是否允许更新)
length(字段值长度)
columnDefinition(字段值类型)
scale(整数长度)
precision(小数点精度)
例如:
columnDefinition="int default 0"
@Temporal
日期属性配置
例如:
@Temporal(TemporalType.TIMESTAMP)
@Column
private Date time;
DATA(只有年月日),TIME(只有时分秒等时间信息),TIMESTAMP(年月日时分秒)
@Type
数据库需要存储大量数据,使用text
例如:
@Type(type="text")
@Column()
private String content;
@Transient
域前加载关键字注解@Transient,不跟数据库表做映射(表中没有字段)
映射类型 Java类型 标准SQL字段类型
interger int or java.lang.Integer INTERGER
long long or java.lang.Long BIGINT
short short or java.lang.Short SMALLINT
float float or java.lang.Float FLOAT
double double or java.lang.Double DOUBLE
big_decimal java.math.BigDecimal NUMBERIC
character java.lang.String CHAR(1)
string java.lang.String VARCHAR
byte byte or java.lang.Byte TINYINT
boolean boolean or java.lang.Boolean
yes_no boolean or java.lang.Boolean CHAR(1('Y'or'N'))
true_false boolean or java.lang.Boolean CHAR(1('Y'or'N'))
date java.util.Date or java.sql.Date DATE
time java.util.Date or java.sql.Time TIME
timestamp java.util.Date or java.sql.Timestamp TIMESTAMP
calendar java.util.Calendar TIMESTAMP
calendar_date java.util.Calendar DATE
大数据
binary byte[] VARBINARY(or BLOB)
text java.lang.String CLOB
serializable java.io.Serializable VARBINARY(or BLOB)
clob java.sql.Clob CLOB
blob java.sql.Blob BLOB
其他
class java.lang.Class VARCHAR
locale java.util.Locale VARCHAR
timezone java.util.TimeZone VARCHAR
currency java.util.Currency VARCHAR