@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语句出错。