Моя сущность имеет этот атрибут ...JPA создание LocalDateTime колонны в виде datetime2 в SQLServer 2008
@Convert(converter = LocalDateTimeAtributeConverter.class)
@Column(name="dthr_ult_atualizacao")
private LocalDateTime ultimaAtualizacao;
В сервере, столбец создается JPA как:
dthr_ult_atualizacao (datetime2(7), null)
По коду, Я сохранить значение ниже в этой колонке:
2016-05-09T15:20:00.357
Когда я делаю Выберите непосредственно в базе данных, значение correc т:
2016-05-09 15:20:00.3570000
Но когда я восстановить это значение JPA, значение неверно:
2016-05-07T15:20:00.357
Обратите внимание, что на следующий день не так в течение двух дней.
Итак, если я изменяю вручную тип данных, все работает нормально. Что не так?
Мой конвертер:
import java.time.LocalDateTime;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
@Converter
public class LocalDateTimeAtributeConverter implements AttributeConverter<LocalDateTime, java.sql.Timestamp> {
@Override
public java.sql.Timestamp convertToDatabaseColumn(LocalDateTime entityValue)
{
if (entityValue != null) {
return java.sql.Timestamp.valueOf(entityValue);
}
return null;
}
@Override
public LocalDateTime convertToEntityAttribute(java.sql.Timestamp databaseValue) {
if (databaseValue != null) {
return databaseValue.toLocalDateTime();
}
return null;
}
}
Я использую Microsofr jdbc42 с wildfly 9
Спасибо. В том, что. Вы решили мою проблему. –