hibernate Timstamp映射mysql中类型为什么是datetime?

hibernate为什么我设置的类型是java.sql.Timstamp但是映射到mysql数据库表中的时候类型却是datetime呢?求解~
我知道使用@Column(columnDefinition = "timestamp")可以解决问题,但是columnDefinition属性的会破坏移植性,故求其他的解决思路。
column注解如下:

 @Column(name = "register_time", insertable = false, updatable = false, nullable = false)
public java.sql.Timestamp getRegister_time() {
        return register_time;
}   
public void setRegister_time(java.sql.Timestamp register_time) {
        this.register_time = register_time;
}

生成sql如下:
create table User (
id varchar(255) not null,
mobilephone_number varchar(11) not null,
password varchar(20) not null,
register_time datetime,
telephone_number varchar(12),
username varchar(20) not null,
primary key (id)
)

hibernate数据类型映射官方文档
http://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html#basic

1个回答

调试有问题,用检测软件检测一下。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!