@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語句出錯。