-
Notifications
You must be signed in to change notification settings - Fork 350
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
spring tries to insert null enums as varchar #1935
Comments
I think it isn't Spring Data JDBC that tries to convert something here. Instead it seems to tell Postgres, this |
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 |
^ is the above useful for you? @schauder |
Yes, I think this will do. Just need to find time to look into it. |
no problem, thanks for your help |
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!
The text was updated successfully, but these errors were encountered: