实体
@Entity
@Table(name = "user")
@org.hibernate.annotations.Table(appliesTo = "user",comment = "用户表")
public class User{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = true,columnDefinition = "varchar(100) default '' comment '用户名'")
private String name;
@Column(nullable = true,columnDefinition = "varchar(100) default '' comment '邮箱'")
private String email;
@Column(columnDefinition = "int(11) default 0 comment '性别 0:男 1:女'")
private int sex;
protected User(){
}
public User(Long id, String name, String email) {
this.id = id;
this.name = name;
this.email = email;
}
}
@Table 和 @org.hibernate.annotations.Table(appliesTo = "user",comment = "用户表") 要同时存在数据库表才可以创建成功;
当然,如果你不需要表注释的话,只有@Table就可以了
@GeneratedValue(strategy = GenerationType.IDENTITY) 为主键的生成策略,我试着给Id加注释时发现 @Column和@GeneratedValue冲突,导致创建表SQL语句出错。