| Hello, I'm not sure this is a hibernate bug, nevertheless here it is. I get this exception:
Caused by: org.ehcache.spi.serialization.SerializerException: java.io.NotSerializableException: org.hibernate.metamodel.model.convert.internal.JpaAttributeConverterImpl
at org.ehcache.impl.serialization.PlainJavaSerializer.serialize(PlainJavaSerializer.java:51)
at org.ehcache.impl.copy.SerializingCopier.copy(SerializingCopier.java:60)
at org.ehcache.impl.copy.ReadWriteCopier.copyForWrite(ReadWriteCopier.java:42)
at org.ehcache.impl.internal.store.heap.holders.CopiedOnHeapKey.<init>(CopiedOnHeapKey.java:33)
at org.ehcache.impl.internal.store.heap.KeyCopyBackend.makeKey(KeyCopyBackend.java:188)
at org.ehcache.impl.internal.store.heap.KeyCopyBackend.compute(KeyCopyBackend.java:154)
at org.ehcache.impl.internal.store.heap.OnHeapStore.put(OnHeapStore.java:337)
... 176 more
Caused by: java.io.NotSerializableException: org.hibernate.metamodel.model.convert.internal.JpaAttributeConverterImpl
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1185)
at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1553)
at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1510)
at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1433)
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1179)
at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1553)
at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1510)
at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1433)
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1179)
at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1553)
at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1510)
at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1433)
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1179)
at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349)
at java.base/java.util.HashMap.internalWriteEntries(HashMap.java:1840)
at java.base/java.util.HashMap.writeObject(HashMap.java:1411)
at java.base/jdk.internal.reflect.GeneratedMethodAccessor441.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1130)
at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1497)
at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1433)
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1179)
at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1553)
at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1510)
at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1433)
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1179)
at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349)
at org.ehcache.impl.serialization.PlainJavaSerializer.serialize(PlainJavaSerializer.java:49)
when executing against this spring-data method:
@Query("SELECT an FROM #{#entityName} an JOIN an.name n WHERE KEY(n) in (:locales) ORDER BY n.value")
@QueryHints({ @QueryHint(name = "org.hibernate.cacheable", value = "true") })
List<T> findAllOrderByNameWithLocales(@Param("locales") Locale... locales);
Same works fine with java8. |