Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Expecting BasicPluralJavaType for array class `[Ljava.lang.String;`, but got `com.vladmihalcea.hibernate.type.array.internal.StringArrayTypeDescriptor

During Springboot 3 and hibernate6 migration, during application startup facing below error Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is java.lang.IllegalArgumentException: Expecting BasicPluralJavaType for array class [Ljava.lang.String;, but got com.vladmihalcea.hibernate.type.array.internal.StringArrayTypeDescriptor@38ffba03 at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:364) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) ... 16 common frames omitted Caused by: java.lang.IllegalArgumentException: Expecting BasicPluralJavaType for array class [Ljava.lang.String;, but got com.vladmihalcea.hibernate.type.array.internal.StringArrayTypeDescriptor@38ffba03 at org.hibernate.loader.ast.internal.MultiKeyLoadHelper.resolveArrayJdbcMapping(MultiKeyLoadHelper.java:46) at org.hibernate.loader.ast.internal.MultiIdEntityLoaderArrayParam.(MultiIdEntityLoaderArrayParam.java:58) at org.hibernate.persister.entity.AbstractEntityPersister.buildMultiIdLoader(AbstractEntityPersister.java:892) at org.hibernate.persister.entity.AbstractEntityPersister.prepareLoaders(AbstractEntityPersister.java:3420) at org.hibernate.metamodel.model.domain.internal.MappingMetamodelImpl.finishInitialization(MappingMetamodelImpl.java:206) at org.hibernate.internal.SessionFactoryImpl.initializeMappingModel(SessionFactoryImpl.java:364) at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:293) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:450) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1507) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:388) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ... 20 common frames omitted

Tried by adding below dependencies:


    <dependency>
    <groupId>com.vladmihalcea</groupId>
    <artifactId>hibernate-types-60</artifactId>
    <version>2.21.1</version>
    </dependency>
    <dependency>
    <groupId>org.hibernate.orm</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>6.4.4.Final</version>
    </dependency>

anything else need to be added?

like image 204
Bharathi Nalla Avatar asked Jul 21 '26 05:07

Bharathi Nalla


2 Answers

Replacing com.vladmihalcea:hibernate-types-60:2.21.1 with

'io.hypersistence:hypersistence-utils-hibernate-63:3.7.3' worked for me.

Ref-: https://github.com/vladmihalcea/hypersistence-utils/issues/698

we have to completely remove this com.vladmihalcea:hibernate-types-60:2.21.1 and use io.hypersistence:hypersistence-utils-hibernate-63:3.7.3

like image 167
Praveen Reddy Avatar answered Jul 23 '26 00:07

Praveen Reddy


Try migrating to hypersistence-utils. It's the successor of hibernate-types and fixed a similar issue for me.

like image 39
Mike Chernev Avatar answered Jul 22 '26 23:07

Mike Chernev



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!