hibernate 筑表

hibernate 建表
在使用此@Column标记时,需要注意以下几个问题:
l         此标记可以标注在getter方法或属性前,例如以下的两种标注方法都是正确的:
标注在属性前:
@Entity
@Table(name = "contact")
public class ContactEO{
@Column(name=" contact_name ")
private String name;
}
标注在getter方法前:
@Entity
@Table(name = "contact")
public class ContactEO{
@Column(name=" contact_name ")
public String getName() {
         return name;
}
}
提示:JPA规范中并没有明确指定那种标注方法,只要两种标注方式任选其一都可以。这根据个人的喜好来选择,笔者习惯使用第二种方法。

以上是我从http://blog.****.net/EJB_JPA/archive/2008/05/09/2421726.aspx 摘抄过来的
建表一般发现这两种方式都可以但是。我这种情况,数据库使用mysql 建表就失败了
    
 
       @Column(unique=true,name="_key")
	private Integer key;//商家或者用户的id号
	@Column(unique=true,name="_code")
	private String code;
	@Column(unique=true,name="_type")
	private String type;
	@Column(unique=true)
    private Date createTime=new Date(System.currentTimeMillis());//开启时间
	@Column(unique=true)
    private Date invalidTime;//失效时间

     启动应用 hibernate 自动创建表示表失败了。
   然后我仅仅是改成第二种方式 便创建成功了。