注解@Column实现实体类到数据库字段的映射解决映射过程中的type#[]类型错误
1、@GeneratedValue实现id的自增长
实体类中:
@Id
@GeneratedValue(strategy=GenerationType.AUTO)private int id;
xml文件中:(constraints中放的是字段的属性,primaryKey="true"表示该字段为主键,nullable="false"表示该字段不可为空)
2、@Column映射数据库的字段
实体类:(name里面的字段名要和xml里面的对应,如果有下划线比如ztb_id,就一定要写,xml里面不能驼峰命名;如果,没有下划线,那么name可以不写)
@Column(name = "ztb_id", nullable = false)private intztbId;
@Column(length= 40, nullable = false)private String fkkk;
xml文件中:
3、@Nationalized支持中文
实体类:
@Nationalized
@Column(length= 40, nullable = false)private String fkkk;
4、@Enumerated支持枚举类型
枚举类:
importjava.io.Serializable;public enum ListType implementsSerializable {
DAXIU, GXGZ
}
实体类:
@Enumerated(EnumType.STRING)
@Column(name= "list_type", length = 10, nullable = false)private ListType listType;
xml:
5、@Column(columnDefinition)解决映射过程中的type#[]类型错误。String类型默认映射的数值类型是varchar,columnDefinition可以进行额外指定(有时候编译运行会出现类型错误,所以就需要)
实体类:
@Column(nullable = false, columnDefinition = "char")private String qksj;
xml: