hibernate 的注解
类级注解
(1)@Entity
用在POJO类上,表示当前类为实体类。name属性为实体名称。一般使用默认值。可省
(2)@Table
与@Entity联合使用。name属性指定映射的表名。默认与实体名称相同。
eg:
@Entity
@Table(name = “wm_om_notice_h”)
属性级注解
(1)@Id
用在主键id属性上,或其get方法上,表示当前属性将对应数据库中的主键。
(2)@GeneratedValue
指定主键值的来源。其属性strategy用于指定主键的生成策略。默认为AUTO(即根据数据库的类型,自动选择合适的方法,如mysql就是主键自增)
(3)@Column
当实体的属性与其映射的数据库表的列不同名时需要使用@Column 标注说明。
常用属性是name,用于设置映射数据库表的列名。此外,该标注还包含其它多个属性,如:unique、nullable、length 等。
其中columnDefinition属性:
表示该字段在数据库中的实际类型.通常 ORM 框架可以根据属性类型自动判断数据库中字段的类型,但是对于Date类型仍无法确定数据库中字段类型究竟是DATE,TIME还是TIMESTAMP.此外,String的默认映射类型为VARCHAR,如果要将 String 类型映射到特定数据库的 BLOB 或TEXT字段类型,该属性非常有用
@Column标注也可置于属性的getter方法之前
eg:
@Id
@GeneratedValue(generator = “paymentableGenerator”)
@GenericGenerator(name = “paymentableGenerator”, strategy= “uuid”)——此处策略是为了随机生成32位的字符串
@Column(name =“ID”,nullable=false,length=36)
public java.lang.String getId(){
return this.id;
}
参考文章:
https://www.cnblogs.com/wangbin2188/p/9015168.html