EclipseLink DDL使用小数秒创建MySql DATETIME

时间:2015-09-29 16:20:13

标签: java mysql jpa eclipselink

我在项目中使用EclipseLink 2.6.0MySQL 5.6.19

由于mysql 5.6.4支持字段类型DATETIME(6),因此允许在其值中存储精度为毫秒的日期。另外EclipseLink 2.6.0表示它支持此功能。

我正在从我的实体创建数据库。而且我无法强迫它创造一个合适的领域。在日志中,在数据库创建期间,我经常看到:

CREATE TABLE MY_TABLE (..., DATE_FIELD DATETIME ...)

显然,我想要的是:

CREATE TABLE MY_TABLE (..., DATE_FIELD DATETIME(6), ...)

我尝试使用简单和注释版本:

private java.util.Date date1;

@Temporal(value = TemporalType.TIMESTAMP)
private java.util.Date date2;

但结果总是一样的。那么Eclipselink如何支持这一点呢?如何确定合适的字段类型?

1 个答案:

答案 0 :(得分:0)

感谢specializt提示,简单的解决方案:

@Column(length=6)
private Date myTime;

也适用于YodaTime转换器(description

@Column(length=6)
@Converter(name = "dateTimeConverter", converterClass = pl.ds.eemediation.storage.entities.converters.JodaDateTimeConverter.class)
@Convert("dateTimeConverter")
private DateTime date;