2012-03-05 9 views
3

JPAとEclipseLinkを使用してビューから日付を取得すると、SQLデータの日付の2日前に日付が取得されます。 (つまり、1965年1月1日は、1964年12月30日になり、1998年12月31日が1998年12月29日になります)JPA、EclipseLinkとSQL Server 2008 R2の2日間の相違

私は、次の注釈での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; 
私は一貫性のある2日間差を取得していますなぜ

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

任意のアイデア:SQL Serverで

列は次のように定義されていますか?

答えて

1

EclipseLinkは変換を行わず、JDBCで発生する可能性が最も高いです。

JPAを介してネイティブSQLクエリを実行し、返されるデータを確認できます。また、raw JDBCを介してデータを選択してみてください。

+0

JPAネイティブSQLクエリは、JDBC呼び出しと同じことをしています。 MicrosoftのJDBCドライバが間違っているようです。ありがとう。 – PaulNBN

+0

http://blogs.msdn.com/b/jdbcteam/archive/2012/01/20/hotfix-available-for-date-issue-when-using-jre-1-7.aspx詳細と修正プログラムについては、こちらをご覧ください。 – PaulNBN

関連する問題