2017-02-27 5 views
1

JPA StoreProcedureQueryで問題が発生しました。問題は予期せぬさまざまな値になっています。JPA StoreProcedureQueryがパラメータから始まる間違った値を取得する

enter image description here enter image description here

そして、結果は同様です:

MySQLのワークベンチでは、私はそれが例えば「たstartDate」と「endDateに」 と呼ばれる2つのパラメータを待っていることを「sp_GET_Result」と呼ばれる店舗の手順を実行します

enter image description here

これまでのところ、それは大丈夫だが、私はJavaのJPA からそれを呼び出すときに問題はこれが私のJavaルーチン

です3210

enter image description here

私はこの結果を取得しています:

[2017年1月31日、2017年2月1日、2017年2月2日、2017年2月3日、2017-02- 04号、2017-02-05号、2017-02-06号、2017-02-07号、2017-02-08号、2017-02-09号、2017-02-10号、2017-02-11号、2017-02-12号、 2017-02-13,2017-02-14、2017-02-15、2017-02-16、2017-02-17、2017-02-18、2017-02-19、2017-02-20、2017-02-17、 02-21号、2017-02-22号、2017-02-23号、2017-02-24号、2017-02-25号、2017-02-26号、号、171号機、ない場合はストアプロシージャではありませんjavaが送信しているパラメータでtを返します。 Javaが送信し、MySQLが受け取っているパラメータを出力したので、結果は次のようになります。 starDate、endDate [2017-01-31、2017-02-27]しかし、なぜですか?? 2017-02-01から2017-02-28に送信しているためです

問題はストア手順ではなく、実際の問題は結果のバリエーションです。

答えて

1

ほとんどの場合、JDBCドライバは、入力日付をデータベースで使用されるUTC形式に変換します。逆の場合は、返信日がローカルタイムゾーンに変換されます。 JDBCドライバの設定:https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.htmlを確認してください。

+0

本当にありがとうございました!!!そして、問題はmysqlが割り当てられているサーバでした。 MySQLはサーバーUTCとJavaがCSTで入力日付を送信していた時間帯を持っていたため、MySQLからの応答が間違っていました。 – CR7

関連する問題