1

I try to update my hibernate version in my project. So I update the pom.xml, from :

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-validator</artifactId>
  <version>4.2.0.Final</version>
</dependency>
<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-validator-legacy</artifactId>
  <version>4.0.2.GA</version>
  <exclusions>
    <exclusion>
      <artifactId>hibernate-core</artifactId>
      <groupId>org.hibernate</groupId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>4.3.5.Final</version>
  <exclusions>
    <exclusion>
      <artifactId>jta</artifactId>
      <groupId>javax.transaction</groupId>
    </exclusion>
    <exclusion>
      <artifactId>jboss-transaction-api_1.2_spec</artifactId>
      <groupId>org.jboss.spec.javax.transaction</groupId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-commons-annotations</artifactId>
  <version>3.2.0.Final</version>
</dependency>
<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-c3p0</artifactId>
  <version>4.3.5.Final</version>
</dependency>

To :

...
<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>5.0.0.Final</version>
  <exclusions>
    <exclusion>
      <artifactId>slf4j-api</artifactId>
      <groupId>org.slf4j</groupId>
    </exclusion>
    <exclusion>
      <artifactId>jta</artifactId>
      <groupId>javax.transaction</groupId>
    </exclusion>
    <exclusion>
      <artifactId>jboss-transaction-api_1.2_spec</artifactId>
      <groupId>org.jboss.spec.javax.transaction</groupId>
    </exclusion>
  </exclusions>
</dependency>
...

But now I have compilation error :

package javax.persistence does not exist

I see that I can hibernate-jpa-2.1-api in the pom.xml, but JPA/Persistence is still included in hibernate-core lib like in 4.3.4 no ? So why I have this error ? I

user2178964
  • 124
  • 6
  • 16
  • 40
  • Check if this answer here: https://stackoverflow.com/a/50748341/2849346 gives you a path forward. – MWiesner May 31 '22 at 19:24
  • Does this answer your question? [How to upgrade Hibernate from version 4.3 to 5.2 for migration to JDK 10?](https://stackoverflow.com/questions/50207195/how-to-upgrade-hibernate-from-version-4-3-to-5-2-for-migration-to-jdk-10) – MWiesner May 31 '22 at 19:26
  • Thanks, yes I saw this post. But in my case I don't have any persistence.xml file or persistence provider defined in any xml file – user2178964 Jun 01 '22 at 08:06

1 Answers1

0

I do a little cleanup in pom and transform it to this :

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>4.2.0.Final</version>
    <exclusions>
        <exclusion>
            <artifactId>slf4j-api</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.0.11.Final</version>
    <exclusions>
        <exclusion>
            <artifactId>slf4j-api</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
        <exclusion>
            <artifactId>jta</artifactId>
            <groupId>javax.transaction</groupId>
        </exclusion>
        <exclusion>
            <artifactId>jboss-transaction-api_1.2_spec</artifactId>
            <groupId>org.jboss.spec.javax.transaction</groupId>
        </exclusion>
        <exclusion>
            <artifactId>jboss-logging</artifactId>
            <groupId>org.jboss.logging</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <artifactId>jboss-logging</artifactId>
    <groupId>org.jboss.logging</groupId>
    <version>3.2.0.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-c3p0</artifactId>
    <version>5.0.11.Final</version>
    <exclusions>
        <exclusion>
            <artifactId>slf4j-api</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
    </exclusions>
</dependency>

It compile now. But when it runs, I have :

2022-06-08 16:24:31,335 ERROR [STDERR] java.lang.ClassCastException: com.arjuna.ats.jbossatx.jta.TransactionManagerDelegate cannot be cast to javax.transaction.TransactionManager
    2022-06-08 16:24:31,336 ERROR [STDERR]  at org.hibernate.engine.transaction.jta.platform.internal.JBossAppServerJtaPlatform.locateTransactionManager(JBossAppServerJtaPlatform.java:42)
    2022-06-08 16:24:31,336 ERROR [STDERR]  at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.retrieveTransactionManager(AbstractJtaPlatform.java:87)
    2022-06-08 16:24:31,336 ERROR [STDERR]  at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.getTransactionManager(AbstractJtaPlatform.java:98)
    2022-06-08 16:24:31,336 ERROR [STDERR]  at org.hibernate.engine.transaction.jta.platform.internal.TransactionManagerBasedSynchronizationStrategy.canRegisterSynchronization(TransactionManagerBasedSynchronizationStrategy.java:39)
    2022-06-08 16:24:31,336 ERROR [STDERR]  at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.canRegisterSynchronization(AbstractJtaPlatform.java:131)
    2022-06-08 16:24:31,336 ERROR [STDERR]  at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.pulse(JtaTransactionCoordinatorImpl.java:141)
    2022-06-08 16:24:31,336 ERROR [STDERR]  at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.<init>(JtaTransactionCoordinatorImpl.java:92)
    2022-06-08 16:24:31,336 ERROR [STDERR]  at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl.buildTransactionCoordinator(JtaTransactionCoordinatorBuilderImpl.java:28)
    2022-06-08 16:24:31,336 ERROR [STDERR]  at org.hibernate.internal.SessionImpl.<init>(SessionImpl.java:274)
    2022-06-08 16:24:31,336 ERROR [STDERR]  at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1332)
    2022-06-08 16:24:31,336 ERROR [STDERR]  at org.hibernate.internal.SessionFactoryImpl.openSession(SessionFactoryImpl.java:684)
    2022-06-08 16:24:31,336 ERROR [STDERR]  at com.al6.jtob.data.dao.GenericHibernateDAO.getSession(GenericHibernateDAO.java:75)
user2178964
  • 124
  • 6
  • 16
  • 40