I have a project running with no problem except this warning message:
WARN org.hibernate.type.descriptor.java.JavaTypeDescriptorRegistry - Could not find matching type descriptor for requested Java class [java.util.List]; using fallback enviroment
Why am I getting this message? How can I disable it?
I'm using:
spring webmvc 4.2.1
hibernate-core 5.0.1
This message appears since I'm using JPA 2.1 AttributeConverter.
You get this warning if the type your converter is supposed to convert does not implement Serializable
, is not an enum
nor one of the types Hibernate knows how to convert. As soon as you make the type your converter is supposed to convert Serializable
, the warning goes away.
Looking through the Hibernate code, the purpose of a JavaTypeDescriptor
seems to be to provide information on how to serialize certain types and whether or how it's possible to do deep copies. Because Hibernate doesn't know anything about the type, it makes some guesses. If you like, you can help Hibernate by supplying a JavaTypeDescriptor
yourself. There's a Singleton for that.
While both the answers are logical and correct none address the actual issue in the question above!
You are getting this error for java.util.List
, neither can you write equals/hashcode implementations, nor extend Serializable
, and defining a AbstractTypeDescriptor
is pointless here.
You are getting this error simply because interface List is not Serializable
in Java and you will have to choose an implementation which is.
The concrete types like ArrayList
and LinkedList
are Serializable
, you can either use them (breaking interface-based programming) or create your own List implementations that extend/implement Serializable
(none of the built-in concrete List
implementations can be used then).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With