Schema validation fails for tinyint after upgrading mariadb-java-client
Description
Attachments
1
Activity
Show:
pweix July 1, 2023 at 9:09 PM
Have the same problem with spring boot 3.1.x (updated hibernate version to 6.2). My definitions of TINYINT UNSIGNED
& SMALLINT UNSIGNED
stopped working. I resolved it by changing definitions to TINYINT(3) UNSIGNED
& SMALLINT(5) UNSIGNED
, which sets the display width of the columns and has nothing to do with value ranges. More can be found in official mysql 8 doc here.
Found nothing in the changelog of version 6.2 matching my database (MySQL 8).
Sidenote: I don't know exactly is this is an issue of hibernate or mariadb-java-client.
But the issue occurs inside org.hibernate.tool.schema.spi.SchemaManagementException *as soon as mariadb-java-client is upgraded from 2.7.2 to *2.7.3.
Precondition: create a mariadb or mysql table as follows:
(the same table would be created by hibernate when using spring.jpa.hibernate.ddl-auto=create).
With entity class:
Run the application attached. The application runs and terminates with error:
Now the interesting part: downgrade the mariadb version in `pom.xml` to:
<mariadb.version>2.7.2</mariadb.version>
Run the application again.
Result: the application runs and terminates without an error.
So all of a sudden, the `SchemaManagementException` thinks that the schema is invalid when using mariadb-java-client 2.7.3.
While I don't know if this rather an issue inside hibernate or mariadb, I also opened a similar issue for mariadb:
https://jira.mariadb.org/browse/CONJ-893