Open mattmcc-attest opened 1 week ago
I think it isn't Spring Data JDBC that tries to convert something here. Instead it seems to tell Postgres, this null
value is a VARCHAR` and Postgres is overwhelmed by the task to convert it to an enum ...
Yeah I debugged into the JdbcTemplate and could see it was trying to insert with sqlType = 12 = varchar. Not sure at what point spring-data-jdbc is telling Postgres is is a varchar though
@schauder Do you think this is a bug? It seems like the MappingJdbcConverter doesn't recognise the type so converts it to a String.
Should there be some function further up the call stack that handles nulls whereby if the value is null then don't try and type it and insert as a null in the DB?
Yes, I do think this is a bug. Could you provide a full reproducer, preferable as github repo?
@schauder Thank you :) here is an app that reproduces it https://github.com/mattmcc-attest/animal
Hi, I have an issue with enums using spring-data-jdbc.
I have a Java enum type:
And a corresponding enum type on one of my tables:
I have this Entity (see the Sentiment field):
If I call save on the repository:
I get the error:
I have some Converters for handling the enums but because the value is null it doesn't reach these converters. It seems to me that the spring-data-jdbc library must be at some point trying to convert the null value to a varchar? (maybe by default?)
This is not what I would expect, I would expect if the value I am inserting is null and my enum type postgres field is nullable then null should be used rather than varchar :)
Let me know if you need any more information, thank you!