[英]Map MySql datetime to hibernate
我的MySql数据库中有一个datetime
字段。 典型条目如下: 2015-08-26 11:45:48
。
但是当它到达我的应用程序时,小时,分钟和秒始终是00:00:00
。
这是映射条目:
<property name="listingTime" column="listing_time"/>
我的Java
类中的字段是
private java.sql.Timestamp startTime;
我尝试在hibernate.cfg.xml
为listingTime
属性设置各种类型,但它不会更改全零。 我错过了什么?
更好地使用这样的注释:
...
@Column
@Type(type="timestamp")
private Date listing_time;
或者你可以这样做,如果你不想改变它,看看“可更新”
@Column(name = "created", nullable = false, updatable=false)
@Temporal(TemporalType.TIMESTAMP)
private Date created;
使用JPA,使用时间。
<entity class="com.package.of.my.entities.MyEntity" name="MyEntity">
<attributes>
<basic name="startTime">
<temporal>TIMESTAMP</temporal>
</basic>
</attributes>
</entity>
使用Hibernate(hbm.xml),用户
<hibernate-mapping package="com.package.of.my.entities">
<class name="MyEntity">
<timestamp name="startTime" column="START_TIME" />
</class>
</hibernate-mapping>
或者在注释中
@Basic
@Temporal(TemporalType.TIMESTAMP)
private java.sql.Timestamp startTime;
或者使用Long数据类型来存储时间戳。 因此,使用注释,您在实体中声明:
@Basic
private Long startTime;
public void setStartTime(Long startTime) {
this.startTime = startTime;
}
public Long getStartTime() {
return startTime;
}
在你的逻辑中,你做到了
Date dateStartTime = new Date();
entity.setStartTime(dateStartTime.getTime());
设置日期属性...和
Date dateStartTime = new Date(entity.getStartTime());
获取日期属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.