Двухдневное расхождение с JPA, EclipseLink и SQL Server 2008 R2 - PullRequest
3 голосов
/ 05 марта 2012

При извлечении дат из представления с использованием JPA и EclipseLink я получаю даты за два дня до даты в данных SQL. (то есть 1965-01-01 становится 1964-12-30, а 1998-12-31 становится 1998-12-29)

Я сопоставляю поля даты в SQL Server 2008 R2 со следующими аннотациями:

@Entity
@Table(name = "vw_Record")
@XmlRootElement
public class VwRecord implements Serializable {
    @Column(name = "dateStart")
    @Temporal(TemporalType.DATE)
    private Date dateStart;

    @Column(name = "dateEnd")
    @Temporal(TemporalType.DATE)
    private Date dateEnd;

Столбцы в SQL Server определены как:

[dateStart] [date] NULL,
[dateEnd] [date] NULL

Есть идеи, почему я получаю постоянную разницу в два дня?

1 Ответ

1 голос
/ 05 марта 2012

EclipseLink не выполняет никаких преобразований, скорее всего, это происходит в JDBC.

Вы можете попробовать выполнить собственный запрос SQL через JPA и посмотреть, какие данные он возвращает. Также попробуйте выбрать данные через raw JDBC.

...