Skip to content

Unsupported SQL type: TIMESTAMP_WITH_TIMEZONE when using OffsetDateTime with MySQL #30556

@yotov

Description

@yotov

Since upgrading to spring-boot 3.1 ( spring framework 6.0.9 ) I'm experiencing a new exception for methods that uses OffsetDateTime as a parameter in database queries ( MySQL ). I'm using BeanPropertySqlParameterSource and passing a record that has OffsetDateTime as a field and here is the exception:

Unsupported SQL type: TIMESTAMP_WITH_TIMEZONE
	at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:104)
SQLExceptionSubclassTranslator.java:104
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)
AbstractFallbackSQLExceptionTranslator.java:70
	at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1538)
JdbcTemplate.java:1538
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:667)
JdbcTemplate.java:667
	at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:960)
JdbcTemplate.java:960
	at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:981)
JdbcTemplate.java:981
	at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:328)

After some research, it looks like the problem is caused by #30123 because MySQL doesn't support these new types ( https://github.com/mysql/mysql-connector-j/blob/release/8.0/src/main/core-api/java/com/mysql/cj/MysqlType.java#L681 )

Metadata

Metadata

Assignees

Labels

in: dataIssues in data modules (jdbc, orm, oxm, tx)type: regressionA bug that is also a regression

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions