2016-04-18 16 views
1

私はlatin1エンコードされたmysqlデータベースを持っています。私はエンティティにシリアライズしたいと思います。私は、私は、MySQLのワークベンチ上の結果を得る私のデータベースにクエリを実行した場合Springbootとmysql:read latin1 charset

2016-04-18 23:52:32.765 DEBUG 41409 --- [pool-2-thread-1] org.hibernate.SQL      : select newsletter0_.id_customer as id_custo1_0_, newsletter0_.active as active2_0_, newsletter0_.ape as ape3_0_, newsletter0_.birthday as birthday4_0_, newsletter0_.company as company5_0_, newsletter0_.date_add as date_add6_0_, newsletter0_.date_upd as date_upd7_0_, newsletter0_.deleted as deleted8_0_, newsletter0_.email as email9_0_, newsletter0_.firstname as firstna10_0_, newsletter0_.id_default_group as id_defa11_0_, newsletter0_.id_gender as id_gend12_0_, newsletter0_.id_lang as id_lang13_0_, newsletter0_.id_risk as id_risk14_0_, newsletter0_.id_shop as id_shop15_0_, newsletter0_.id_shop_group as id_shop16_0_, newsletter0_.ip_registration_newsletter as ip_regi17_0_, newsletter0_.is_guest as is_gues18_0_, newsletter0_.last_passwd_gen as last_pa19_0_, newsletter0_.lastname as lastnam20_0_, newsletter0_.max_payment_days as max_pay21_0_, newsletter0_.newsletter as newslet22_0_, newsletter0_.newsletter_date_add as newslet23_0_, newsletter0_.note as note24_0_, newsletter0_.optin as optin25_0_, newsletter0_.outstanding_allow_amount as outstan26_0_, newsletter0_.passwd as passwd27_0_, newsletter0_.secure_key as secure_28_0_, newsletter0_.show_public_prices as show_pu29_0_, newsletter0_.siret as siret30_0_, newsletter0_.website as website31_0_ from ps_customer newsletter0_ 
2016-04-18 23:52:32.769 WARN 41409 --- [pool-2-thread-1] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: S1009 
2016-04-18 23:52:32.769 ERROR 41409 --- [pool-2-thread-1] o.h.engine.jdbc.spi.SqlExceptionHelper : Value '21� 
0000-00-00�2016-04-10 18:01:472016-04-10 18:01:[email protected] 
172.19.0.202016-04-10 14:01:47Delizia012016-04-10 18:01:47�00.000000 de4a592876ec78ec014eb47a6cd1b49f 849de5fcc5bab384d4b5cc6089e010ed0��' can not be represented as java.sql.Timestamp 

:私は取得しています何

は、私は、DBのエンコーディングと関連していると思う奇妙なエラーです。それは、冬眠が結果を適切に解析できない縫い目です。

私は以下のプロパティを設定します。

spring.jpa.properties.hibernate.connection.characterEncoding=latin1 
spring.jpa.properties.hibernate.connection.CharSet=latin1 

をしかし、それはまだ最後の問題で

答えて

2

動作しない文字セットが、このようなデータベース内の値を持つ日付ではなかった:「0000から00 -00" それはたjava.sql.Timestampまたはjava.sql.Dateでsuppurtedされていないので、私はプロパティでzeroDateTimeBehavior=convertToNull

ので、接続文字列に次のパラメータを追加する必要がありました、それは次のようになります。

spring.datasource.url=jdbc:mysql://localhost/test?zeroDateTimeBehavior=convertToNull 
関連する問題