Я наблюдал нечитаемые символы в базе и на страницах броузера.
Проверка, перепроверка базы\классов (кодировка базы была нужная) ничего не дала.
Помог поиск в гугле.
Не помню как я нашел END TO END UTF-8 ENCODING USAGE WITH MYSQL AND SPRING
Но там было указание на причину проблеммы: класс, ответственный за соединение с базой (в моему случае bean на основе org.apache.commons.dbcp.BasicDataSource) не получил двух важных свойств - useUnicode и characterEncoding.
Расширение класса вместе с добавлением метода init() вида :
public class UTF8DataSource extends BasicDataSource {
public void init() {
addConnectionProperty("useUnicode", "true");
addConnectionProperty("characterEncoding", "UTF-8");
}
}
Конечно, bean должен быть чуть другой:
bean id="..." class="...UTF8DataSource" ...
Надеюсь, кому-то сбережет время.
Странно, что в http://www.springframework.org/schema/p нету нужного свойства (p:initialSize и p:maxActive для Connection Pool есть...).