Нам нужно использовать NStringTypeHandler для сохранения строк i18n в полях NVARCHAR БД.
Но я заглянул в исходный код и похоже, что он ничего не делает.
public class NStringTypeHandler extends BaseTypeHandler {
public void setNonNullParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType)
throws SQLException {
// ps.setNString(i, ((String) parameter));
ps.setString(i, ((String) parameter));
}
public Object getNullableResult(ResultSet rs, String columnName)
throws SQLException {
// return rs.getNString(columnName);
return rs.getString(columnName);
}
public Object getNullableResult(CallableStatement cs, int columnIndex)
throws SQLException {
// return cs.getNString(columnIndex);
return cs.getString(columnIndex);
}
}
Может быть, я что-то придумал. Но set / get NString комментируется в исходном коде.