JPA+MySQLでの文字化けにはまった件

JPA+MySQLで、登録時はちゃんと登録できて、一覧でもちゃんと表示されてるのに、ある程度時間がたつと文字化けしているという現象が起きてちょっとはまってた。


MySQLの設定を見直したりしてたのだけど、これもしかしてJPAのキャッシュの問題じゃないか、と思って、JDBCで普通にデータ取得してみたら、JPA使ってるほうでは文字化けしていなくてもJDBCのほうでは文字化けしてる。
つまり、データベースにちゃんとデータが入ってない。


ということで、JNDIのJDBC接続プールの設定に

useUnicode: true
characterEncoding: utf8

の2つのプロパティを追加して解決