我在项目中使用EclipseLink 2.6.0
和MySQL 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如何支持这一点呢?如何确定合适的字段类型?
答案 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;