Getting exception while executing IT test case when we upgrade hibernate to 5.2.1.final from 5.1.17.final

When we are upgrading hibernate version to 5.2.1.final and then running IT test case then we are getting the below exception but the same ITs are getting passed when the hibernate version is 5.1.17.final.

Below are the exception details which we are getting in hibernate:

org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute statement

    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:281)
    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:255)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:528)
    at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
    at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242)
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:153)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)

**Below is the exception that we are getting related to PostGres.**


Caused by: org.postgresql.util.PSQLException: ERROR: column “emp_id” is of type integer but expression is of type bytea
Hint: You will need to rewrite or cast the expression.
Position: 64
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2468)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2211)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:309)
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:446)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:370)
at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:149)
at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:124)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204)
… 50 more


**Below are the versions which are being used in the project:**

> <hibernate.version>5.2.1.Final</hibernate.version>
>         <hibernate-extensions.version>1.2.1</hibernate-extensions.version>
>         <hibernate.validator.version>6.0.18.Final</hibernate.validator.version>
>         <hibernate-jpa-21.version>1.0.0.Final</hibernate-jpa-21.version>
>         <validation-api.version>2.0.0.Final</validation-api.version>
>         <postgres.jdbc.driver.version>42.2.6</postgres.jdbc.driver.version>

Without more details I can’t help you here. Apparently you are executing a query like .. where id = ? and you are binding null, which by default will bind the null as binary type. I need to see the HQL and SQL query to help you further. Like the exception message already tells you, you can make this work by using a cast i.e. use the following ... where id = cast(? as int)