JBoss throws ClassCastException: org.hibernate.annotations.common.reflection.java.JavaXProperty cannot be cast to org.hibernate.annotations.common.reflection.XProperty
See original GitHub issueHi there! I’m trying to use your types but when I build it I get this exception:
msc.service.StartException in service jboss.persistenceunit."server-api.war#dgo": javax.persistence.PersistenceException: [PersistenceUnit: db-test] Unable to build Hibernate SessionFactory server-api_1 | at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:179) server-api_1 | at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:121) server-api_1 | at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:667) server-api_1 | at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:193) server-api_1 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) server-api_1 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) server-api_1 | at java.lang.Thread.run(Thread.java:748) server-api_1 | at org.jboss.threads.JBossThread.run(JBossThread.java:320) server-api_1 | Caused by: javax.persistence.PersistenceException: [PersistenceUnit: dgo] Unable to build Hibernate SessionFactory server-api_1 | at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:954) server-api_1 | at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:882) server-api_1 | at org.jboss.as.jpa.hibernate5.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44) server-api_1 | at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:161) server-api_1 | ... 7 more server-api_1 | Caused by: org.hibernate.MappingException: Could not instantiate Type: com.vladmihalcea.hibernate.type.json.JsonBinaryType server-api_1 | at org.hibernate.type.TypeFactory.type(TypeFactory.java:139) server-api_1 | at org.hibernate.type.TypeFactory.byClass(TypeFactory.java:109) server-api_1 | at org.hibernate.type.TypeResolver.heuristicType(TypeResolver.java:112) server-api_1 | at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:416) server-api_1 | at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:398) server-api_1 | at org.hibernate.mapping.Property.isValid(Property.java:225) server-api_1 | at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:595) server-api_1 | at org.hibernate.mapping.RootClass.validate(RootClass.java:265) server-api_1 | at org.hibernate.boot.internal.MetadataImpl.validate(MetadataImpl.java:329) server-api_1 | at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:443) server-api_1 | at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) server-api_1 | ... 9 more server-api_1 | Caused by: java.lang.ClassCastException: org.hibernate.annotations.common.reflection.java.JavaXProperty cannot be cast to org.hibernate.annotations.common.reflection.XProperty server-api_1 | at com.vladmihalcea.hibernate.type.json.internal.JsonTypeDescriptor.setParameterValues(JsonTypeDescriptor.java:58) server-api_1 | at com.vladmihalcea.hibernate.type.json.JsonBinaryType.setParameterValues(JsonBinaryType.java:66) server-api_1 | at org.hibernate.type.TypeFactory.injectParameters(TypeFactory.java:152) server-api_1 | at org.hibernate.type.TypeFactory.type(TypeFactory.java:135) server-api_1 | ... 19 more
Not sure it’s a bug on your lib or something I’m missing, any help? Thanks
Issue Analytics
- State:
- Created 5 years ago
- Comments:11 (5 by maintainers)
@vladmihalcea @TMSantos @oisti @cec Okay I solved it.
hibernate-commons-annotations
dependency, useprovided
scope if you are using Maven, orcompileOnly
configuration if you are using Gradle. You can also just remove that dependency declaration altogether, because you probably don’t need it for compilation. Example for Maven:org.hibernate.commons-annotations
module to Dependencies in your MANIFEST.MF:You can make Maven add that for you, for example using the
maven-ejb-plugin
if you use ejb packaging:For some reason
org.hibernate.commons-annotations
behaves like a “private” jboss module, requiring an explicit module dependency to it, although itsmodule.xml
does not setjboss.api
property toprivate
.Fyi, this is the solution that I found to work: https://stackoverflow.com/questions/52290683/hibernate-types-and-jboss-compatibility-issue