我在MySQL表中有一个列,如:
createdAt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP`.
我希望它存储在以下字段中:
private Long createdAt;
我该怎么做?
答案 0 :(得分:1)
最好使用TemporalType
枚举中支持的类型。多头需要转换器。
这是一个多头转换器:
import java.sql.Timestamp;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
@Converter(autoApply = true)
public class LongConverter implements AttributeConverter<Long, Timestamp> {
@Override
public Timestamp convertToDatabaseColumn(Long attribute) {
if (attribute == null)
return null;
return new Timestamp(attribute);
}
@Override
public Long convertToEntityAttribute(Timestamp dbData) {
if (dbData == null)
return null;
return dbData.getTime();
}
}
答案 1 :(得分:0)
只需使用@Temporal(TemporalType.TIMESTAMP)
createdAt
即可