This is an automated email from the ASF dual-hosted git repository.

yasith pushed a commit to branch cybershuttle-dev
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit abc7bfd0efde05bc213644a980117ea2ccaa96f2
Author: yasithdev <[email protected]>
AuthorDate: Fri Mar 21 03:23:36 2025 +0000

    migrate openjpa to hibernate, update pool and dbcp deps to pool2 and dbcp2.
---
 .vscode/launch.json                                |  3 +-
 .../profile-service-commons/pom.xml                | 33 +--------
 .../src/main/resources/META-INF/persistence.xml    |  6 +-
 .../profile-service/profile-user-core/pom.xml      | 20 ------
 .../service/controllers/ExperimentController.java  |  7 +-
 modules/commons/pom.xml                            | 14 ++--
 .../org/apache/airavata/common/utils/DBUtil.java   |  2 +-
 .../org/apache/airavata/common/utils/JPAUtils.java | 39 +++++-----
 .../credential-store-service/pom.xml               |  6 +-
 modules/distribution/pom.xml                       | 14 +---
 .../src/main/assembly/controller-bin-assembly.xml  |  6 +-
 .../main/assembly/email-monitor-bin-assembly.xml   |  1 -
 .../src/main/assembly/parser-wm-bin-assembly.xml   |  5 +-
 .../src/main/assembly/participant-bin-assembly.xml |  6 +-
 .../src/main/assembly/post-wm-bin-assembly.xml     |  5 +-
 .../src/main/assembly/pre-wm-bin-assembly.xml      |  5 +-
 .../assembly/realtime-monitor-bin-assembly.xml     |  5 +-
 .../src/main/resources/airavata-server.properties  |  4 +-
 .../ide-integration/src/main/resources/log4j2.xml  |  4 +-
 modules/registry/registry-core/pom.xml             | 33 +--------
 .../entities/appcatalog/AppEnvironmentEntity.java  |  6 +-
 .../appcatalog/ApplicationInputEntity.java         |  5 +-
 .../appcatalog/ApplicationOutputEntity.java        |  5 +-
 .../appcatalog/BatchQueueResourcePolicyEntity.java | 14 +---
 .../appcatalog/ComputeResourcePolicyEntity.java    | 17 +----
 .../ComputeResourceReservationEntity.java          |  6 +-
 .../appcatalog/GroupComputeResourcePrefEntity.java |  5 +-
 .../GroupSSHAccountProvisionerConfig.java          |  6 +-
 .../appcatalog/LibraryApendPathEntity.java         |  6 +-
 .../appcatalog/LibraryPrependPathEntity.java       |  6 +-
 .../entities/appcatalog/ModuleLoadCmdEntity.java   |  7 +-
 .../entities/appcatalog/PostjobCommandEntity.java  |  6 +-
 .../entities/appcatalog/PrejobCommandEntity.java   |  6 +-
 .../core/utils/migration/MappingToolRunner.java    | 83 +++++++++++++++-------
 .../src/main/resources/META-INF/persistence.xml    | 17 +++--
 .../mysql/airavata-server.properties               |  6 +-
 .../main/java/generators/JPAClassGenerator.java    |  4 +-
 modules/security/pom.xml                           |  6 +-
 .../sharing-registry-distribution/pom.xml          |  6 +-
 .../sharing-registry-server/pom.xml                | 33 +--------
 .../src/main/resources/META-INF/persistence.xml    |  5 +-
 pom.xml                                            | 52 +++++++++++---
 42 files changed, 199 insertions(+), 326 deletions(-)

diff --git a/.vscode/launch.json b/.vscode/launch.json
index 9a39c30cdc..4f0156fb07 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -5,8 +5,7 @@
       "name": "Start API Server",
       "request": "launch",
       "cwd": "${workspaceFolder}/modules/ide-integration",
-      "mainClass": "org.apache.airavata.ide.integration.APIServerStarter",
-      "vmArgs": 
"-javaagent:/home/vscode/.m2/repository/org/apache/openjpa/openjpa/4.0.1/openjpa-4.0.1.jar",
+      "mainClass": "org.apache.airavata.ide.integration.APIServerStarter"
     },
     {
       "type": "java",
diff --git a/airavata-services/profile-service/profile-service-commons/pom.xml 
b/airavata-services/profile-service/profile-service-commons/pom.xml
index b1217453d5..d6be72e59d 100644
--- a/airavata-services/profile-service/profile-service-commons/pom.xml
+++ b/airavata-services/profile-service/profile-service-commons/pom.xml
@@ -56,9 +56,9 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.apache.openjpa</groupId>
-            <artifactId>openjpa</artifactId>
-            <version>${openjpa.version}</version>
+            <groupId>org.hibernate.orm</groupId>
+            <artifactId>hibernate-core</artifactId>
+            <version>${hibernate-core.version}</version>
         </dependency>
         <dependency>
             <groupId>com.mysql</groupId>
@@ -97,33 +97,6 @@
                     <release>17</release>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.openjpa</groupId>
-                <artifactId>openjpa-maven-plugin</artifactId>
-                <version>${openjpa.maven.plugin.version}</version>
-                <configuration>
-                    <includes>**/entities/*.class</includes>
-                    <excludes>**/entities/XML*.class</excludes>
-                    <addDefaultConstructor>true</addDefaultConstructor>
-                    
<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>enhancer</id>
-                        <phase>process-classes</phase>
-                        <goals>
-                            <goal>enhance</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.apache.openjpa</groupId>
-                        <artifactId>openjpa</artifactId>
-                        <version>${openjpa.version}</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
diff --git 
a/airavata-services/profile-service/profile-service-commons/src/main/resources/META-INF/persistence.xml
 
b/airavata-services/profile-service/profile-service-commons/src/main/resources/META-INF/persistence.xml
index 08c9bed003..e02cca810e 100644
--- 
a/airavata-services/profile-service/profile-service-commons/src/main/resources/META-INF/persistence.xml
+++ 
b/airavata-services/profile-service/profile-service-commons/src/main/resources/META-INF/persistence.xml
@@ -21,16 +21,14 @@
 * -->
 <persistence xmlns="http://java.sun.com/xml/ns/persistence"; version="2.0">
     <persistence-unit name="profile_service">
-        
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
         
<class>org.apache.airavata.service.profile.commons.user.entities.UserProfileEntity</class>
         
<class>org.apache.airavata.service.profile.commons.user.entities.NSFDemographicsEntity</class>
         
<class>org.apache.airavata.service.profile.commons.user.entities.CustomizedDashboardEntity</class>
         
<class>org.apache.airavata.service.profile.commons.tenant.entities.GatewayEntity</class>
         <exclude-unlisted-classes>true</exclude-unlisted-classes>
-
         <properties>
-            <property name="openjpa.jdbc.MappingDefaults"
-                      value="ForeignKeyDeleteAction=cascade, 
JoinForeignKeyDeleteAction=cascade" />
+            <property name="hibernate.cascade" value="all"/>
         </properties>
     </persistence-unit>
 </persistence>
diff --git a/airavata-services/profile-service/profile-user-core/pom.xml 
b/airavata-services/profile-service/profile-user-core/pom.xml
index d187dfd8cf..c50b37af0c 100644
--- a/airavata-services/profile-service/profile-user-core/pom.xml
+++ b/airavata-services/profile-service/profile-user-core/pom.xml
@@ -61,26 +61,6 @@
                     <fork>true</fork>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.openjpa</groupId>
-                <artifactId>openjpa-maven-plugin</artifactId>
-                <version>${openjpa.maven.plugin.version}</version>
-                <configuration>
-                    <includes>**/entities/*.class</includes>
-                    <excludes>**/entities/XML*.class</excludes>
-                    <addDefaultConstructor>true</addDefaultConstructor>
-                    
<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>enhancer</id>
-                        <phase>process-classes</phase>
-                        <goals>
-                            <goal>enhance</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
diff --git 
a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java
 
b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java
index 8a2b83e4a0..496993aa89 100644
--- 
a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java
+++ 
b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java
@@ -1,5 +1,7 @@
 package org.apache.airavata.agent.connection.service.controllers;
 
+import java.util.List;
+
 import 
org.apache.airavata.agent.connection.service.handlers.AgentManagementHandler;
 import org.apache.airavata.agent.connection.service.models.AgentLaunchRequest;
 import org.apache.airavata.agent.connection.service.models.AgentLaunchResponse;
@@ -10,6 +12,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -17,10 +20,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-
-import org.springframework.validation.annotation.Validated;
-
 @RestController
 @RequestMapping("/api/v1/exp")
 public class ExperimentController {
diff --git a/modules/commons/pom.xml b/modules/commons/pom.xml
index 299b0eb097..53c1fe9f1f 100644
--- a/modules/commons/pom.xml
+++ b/modules/commons/pom.xml
@@ -52,9 +52,9 @@
             <version>${xpp5.version}</version>
         </dependency>
         <dependency>
-            <groupId>commons-dbcp</groupId>
-            <artifactId>commons-dbcp</artifactId>
-            <version>${commons-dbcp.version}</version>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-dbcp2</artifactId>
+            <version>${commons-dbcp2.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
@@ -112,9 +112,9 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.apache.openjpa</groupId>
-            <artifactId>openjpa</artifactId>
-            <version>${openjpa.version}</version>
+            <groupId>org.hibernate.orm</groupId>
+            <artifactId>hibernate-core</artifactId>
+            <version>${hibernate-core.version}</version>
         </dependency>
         <!-- Testing -->
         <dependency>
@@ -161,7 +161,7 @@
         <dependency>
             <groupId>javax.xml.bind</groupId>
             <artifactId>jaxb-api</artifactId>
-            <version>${jaxb.version}</version>
+            <version>${jaxb-api.version}</version>
         </dependency>
     </dependencies>
     <properties>
diff --git 
a/modules/commons/src/main/java/org/apache/airavata/common/utils/DBUtil.java 
b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBUtil.java
index 87757326eb..0b8ee26dbc 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/DBUtil.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBUtil.java
@@ -20,7 +20,7 @@
 package org.apache.airavata.common.utils;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.commons.dbcp.BasicDataSource;
+import org.apache.commons.dbcp2.BasicDataSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java 
b/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
index b71d3f7ae7..7d770f5f04 100644
--- 
a/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
+++ 
b/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
@@ -18,20 +18,14 @@ public class JPAUtils {
     private final static Logger logger = 
LoggerFactory.getLogger(JPAUtils.class);
     private final static Map<String, String> 
DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES;
     static {
-        Map<String, String> properties = new HashMap<String, String>();
-        properties.put("openjpa.ConnectionDriverName", 
"org.apache.commons.dbcp.BasicDataSource");
-        properties.put("openjpa.DynamicEnhancementAgent", "true");
-        properties.put("openjpa.RuntimeUnenhancedClasses", "unsupported");
-        properties.put("openjpa.RemoteCommitProvider", "sjvm");
-        properties.put("openjpa.Log", "DefaultLevel=INFO, Runtime=INFO, 
Tool=INFO, SQL=INFO");
-        // use the following to enable logging of all SQL statements
-        // properties.put("openjpa.Log", "DefaultLevel=INFO, Runtime=INFO, 
Tool=INFO,
-        // SQL=TRACE");
-        properties.put("openjpa.jdbc.SynchronizeMappings", "validate");
-        properties.put("openjpa.jdbc.QuerySQLCache", "false");
-        properties.put("openjpa.DetachState", "all");
-        properties.put("openjpa.ConnectionFactoryProperties", 
"PrettyPrint=true, PrettyPrintLineLength=72,"
-                + " PrintParameters=true, MaxActive=10, MaxIdle=5, MinIdle=2, 
MaxWait=31536000,  autoReconnect=true");
+        Map<String, String> properties = new HashMap<>();
+        properties.put("hibernate.dialect", 
"org.hibernate.dialect.MySQLDialect");
+        properties.put("hibernate.hbm2ddl.auto", "validate");
+        properties.put("hibernate.dbcp2.initialSize", "5");
+        properties.put("hibernate.dbcp2.maxTotal", "20");
+        properties.put("hibernate.dbcp2.maxIdle", "10");
+        properties.put("hibernate.dbcp2.minIdle", "2");
+        properties.put("hibernate.dbcp2.maxWaitMillis", "5000");
         DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES = properties;
     }
 
@@ -43,7 +37,6 @@ public class JPAUtils {
      * @return {@link EntityManagerFactory}
      */
     public static EntityManagerFactory getEntityManagerFactory(String 
persistenceUnitName, JDBCConfig jdbcConfig) {
-
         return getEntityManagerFactory(persistenceUnitName, jdbcConfig, 
DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES);
     }
 
@@ -59,17 +52,23 @@ public class JPAUtils {
     public static EntityManagerFactory getEntityManagerFactory(String 
persistenceUnitName, JDBCConfig jdbcConfig,
             Map<String, String> properties) {
 
-        Map<String, String> finalProperties = new 
HashMap<>(DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES);
+        Map<String, String> finalProperties = new HashMap<>();
         finalProperties.putAll(createConnectionProperties(jdbcConfig));
         finalProperties.putAll(properties);
         return Persistence.createEntityManagerFactory(persistenceUnitName, 
finalProperties);
     }
 
     public static Map<String, String> createConnectionProperties(JDBCConfig 
jdbcConfig) {
-        String connectionProperties = "DriverClassName=" + 
jdbcConfig.getDriver() + "," + "Url=" + jdbcConfig.getURL()
-                + "?autoReconnect=true," + "Username=" + jdbcConfig.getUser() 
+ "," + "Password="
-                + jdbcConfig.getPassword() + ",validationQuery=" + 
jdbcConfig.getValidationQuery();
+        Map<String, String> connectionProperties = new HashMap<>();
+        connectionProperties.put("hibernate.connection.provider_class", 
"org.apache.commons.dbcp2.BasicDataSource");
+        connectionProperties.put("hibernate.connection.driver_class", 
jdbcConfig.getDriver());
+        connectionProperties.put("hibernate.connection.url", 
jdbcConfig.getURL() + "?autoReconnect=true");
+        connectionProperties.put("hibernate.connection.username", 
jdbcConfig.getUser());
+        connectionProperties.put("hibernate.connection.password", 
jdbcConfig.getPassword());
+        if (jdbcConfig.getValidationQuery() != null && 
!jdbcConfig.getValidationQuery().isEmpty()) {
+            connectionProperties.put("hibernate.connection.validationQuery", 
jdbcConfig.getValidationQuery());
+        }
         logger.debug("Connection properties={}", connectionProperties);
-        return Collections.singletonMap("openjpa.ConnectionProperties", 
connectionProperties);
+        return connectionProperties;
     }
 }
diff --git a/modules/credential-store/credential-store-service/pom.xml 
b/modules/credential-store/credential-store-service/pom.xml
index 062a2bcf16..bcf5ea8ca6 100644
--- a/modules/credential-store/credential-store-service/pom.xml
+++ b/modules/credential-store/credential-store-service/pom.xml
@@ -109,9 +109,9 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-dbcp</groupId>
-            <artifactId>commons-dbcp</artifactId>
-            <version>${commons-dbcp.version}</version>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-dbcp2</artifactId>
+            <version>${commons-dbcp2.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index 236aae1fbf..5523c0c0ad 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -194,9 +194,9 @@
             <artifactId>bcprov-jdk18on</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.openjpa</groupId>
-            <artifactId>openjpa</artifactId>
-            <version>${openjpa.version}</version>
+            <groupId>org.hibernate.orm</groupId>
+            <artifactId>hibernate-core</artifactId>
+            <version>${hibernate-core.version}</version>
         </dependency>
 
         <dependency>
@@ -417,14 +417,6 @@
             <artifactId>realtime-monitor</artifactId>
             <version>${project.version}</version>
         </dependency>
-
-        <!-- For thrift client pool -->
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-pool2</artifactId>
-        </dependency>
-
-        <!-- For Helix -->
         <dependency>
             <groupId>org.codehaus.jackson</groupId>
             <artifactId>jackson-mapper-asl</artifactId>
diff --git a/modules/distribution/src/main/assembly/controller-bin-assembly.xml 
b/modules/distribution/src/main/assembly/controller-bin-assembly.xml
index ff3919e8af..d266014715 100644
--- a/modules/distribution/src/main/assembly/controller-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/controller-bin-assembly.xml
@@ -90,12 +90,12 @@
                 <include>commons-cli:commons-cli:jar</include>
                 <include>commons-codec:commons-codec:jar</include>
                 <include>commons-collections:commons-collections:jar</include>
-                <include>commons-dbcp:commons-dbcp:jar</include>
+                <include>org.apache.commons:commons-dbcp2:jar</include>
+                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>commons-io:commons-io:jar</include>
                 <include>commons-lang:commons-lang:jar</include>
                 <include>commons-logging:commons-logging:jar</include>
                 <include>org.apache.commons:commons-math:jar</include>
-                <include>commons-pool:commons-pool:jar</include>
                 <include>org.apache.curator:curator-client:jar</include>
                 <include>org.apache.curator:curator-framework:jar</include>
                 <include>org.apache.derby:derby:jar</include>
@@ -161,8 +161,6 @@
                 <include>org.apache.zookeeper:zookeeper-jute:jar</include>
                 <include>io.netty:netty-handler:jar</include>
                 
<include>org.apache.logging.log4j:log4j-slf4j2-impl:jar</include>
-
-                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>org.json:json:jar</include>
 
                 <include>org.apache.airavata:platform-monitoring:jar</include>
diff --git 
a/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml 
b/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
index 116dc2245e..abc4584f15 100644
--- a/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
@@ -88,7 +88,6 @@
 
                 <include>org.apache.airavata:airavata-commons:jar</include>
                 <include>commons-cli:commons-cli</include>
-                <include>commons-pool:commons-pool</include>
                 <include>org.apache.airavata:airavata-data-models:jar</include>
                 <include>org.apache.thrift:libthrift:jar</include>
 
diff --git a/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml 
b/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
index 3374be8b95..aee16e42bf 100644
--- a/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
@@ -90,12 +90,12 @@
                 <include>commons-cli:commons-cli:jar</include>
                 <include>commons-codec:commons-codec:jar</include>
                 <include>commons-collections:commons-collections:jar</include>
-                <include>commons-dbcp:commons-dbcp:jar</include>
+                <include>org.apache.commons:commons-dbcp2:jar</include>
+                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>commons-io:commons-io:jar</include>
                 <include>commons-lang:commons-lang:jar</include>
                 <include>commons-logging:commons-logging:jar</include>
                 <include>org.apache.commons:commons-math:jar</include>
-                <include>commons-pool:commons-pool:jar</include>
                 <include>org.apache.curator:curator-client:jar</include>
                 <include>org.apache.curator:curator-framework:jar</include>
                 <include>org.apache.derby:derby:jar</include>
@@ -160,7 +160,6 @@
                 <include>com.101tec:zkclient:jar</include>
                 <include>org.apache.zookeeper:zookeeper:jar</include>
                 <include>com.github.docker-java:docker-java:jar</include>
-                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>org.json:json:jar</include>
 
                 <include>org.apache.airavata:platform-monitoring:jar</include>
diff --git 
a/modules/distribution/src/main/assembly/participant-bin-assembly.xml 
b/modules/distribution/src/main/assembly/participant-bin-assembly.xml
index 1fd4fa32e9..0c07619ab7 100644
--- a/modules/distribution/src/main/assembly/participant-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/participant-bin-assembly.xml
@@ -92,12 +92,12 @@
                 <include>commons-cli:commons-cli:jar</include>
                 <include>commons-codec:commons-codec:jar</include>
                 <include>commons-collections:commons-collections:jar</include>
-                <include>commons-dbcp:commons-dbcp:jar</include>
+                <include>org.apache.commons:commons-dbcp2:jar</include>
+                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>commons-io:commons-io:jar</include>
                 <include>commons-lang:commons-lang:jar</include>
                 <include>commons-logging:commons-logging:jar</include>
                 <include>org.apache.commons:commons-math:jar</include>
-                <include>commons-pool:commons-pool:jar</include>
                 <include>org.apache.curator:curator-client:jar</include>
                 <include>org.apache.curator:curator-framework:jar</include>
                 <include>org.apache.derby:derby:jar</include>
@@ -208,8 +208,6 @@
                 <include>io.netty:netty-common:jar</include>
                 
<include>io.netty:netty-transport-native-unix-common:jar</include>
                 <include>io.netty:netty-transport-native-kqueue:jar</include>
-
-                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>org.json:json:jar</include>
 
                 <include>org.apache.airavata:platform-monitoring:jar</include>
diff --git a/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml 
b/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
index 5e179aa199..5a486eef9a 100644
--- a/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
@@ -90,12 +90,12 @@
                 <include>commons-cli:commons-cli:jar</include>
                 <include>commons-codec:commons-codec:jar</include>
                 <include>commons-collections:commons-collections:jar</include>
-                <include>commons-dbcp:commons-dbcp:jar</include>
+                <include>org.apache.commons:commons-dbcp2:jar</include>
+                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>commons-io:commons-io:jar</include>
                 <include>commons-lang:commons-lang:jar</include>
                 <include>commons-logging:commons-logging:jar</include>
                 <include>org.apache.commons:commons-math:jar</include>
-                <include>commons-pool:commons-pool:jar</include>
                 <include>org.apache.curator:curator-client:jar</include>
                 <include>org.apache.curator:curator-framework:jar</include>
                 <include>org.apache.derby:derby:jar</include>
@@ -166,7 +166,6 @@
                 <include>io.netty:netty-handler:jar</include>
                 
<include>org.apache.logging.log4j:log4j-slf4j2-impl:jar</include>
                 <include>org.apache.airavata:airavata-security:jar</include>
-                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>org.json:json:jar</include>
 
                 <include>org.apache.airavata:platform-monitoring:jar</include>
diff --git a/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml 
b/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
index 8ac2782c03..8931e9c43e 100644
--- a/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
@@ -90,12 +90,12 @@
                 <include>commons-cli:commons-cli:jar</include>
                 <include>commons-codec:commons-codec:jar</include>
                 <include>commons-collections:commons-collections:jar</include>
-                <include>commons-dbcp:commons-dbcp:jar</include>
+                <include>org.apache.commons:commons-dbcp2:jar</include>
+                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>commons-io:commons-io:jar</include>
                 <include>commons-lang:commons-lang:jar</include>
                 <include>commons-logging:commons-logging:jar</include>
                 <include>org.apache.commons:commons-math:jar</include>
-                <include>commons-pool:commons-pool:jar</include>
                 <include>org.apache.curator:curator-client:jar</include>
                 <include>org.apache.curator:curator-framework:jar</include>
                 <include>org.apache.derby:derby:jar</include>
@@ -166,7 +166,6 @@
                 <include>org.apache.airavata:services-security:jar</include>
                 
<include>org.apache.airavata:airavata-sharing-registry-stubs:jar</include>
                 <include>org.apache.airavata:airavata-security:jar</include>
-                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>org.json:json:jar</include>
                 <include>org.apache.airavata:platform-monitoring:jar</include>
                 <include>io.prometheus:simpleclient:jar</include>
diff --git 
a/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml 
b/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml
index 0d32b253cd..e347e9e832 100644
--- a/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml
@@ -88,7 +88,6 @@
                 <include>org.apache.airavata:airavata-commons:jar</include>
                 <include>org.apache.airavata:airavata-data-models:jar</include>
                 <include>commons-cli:commons-cli</include>
-                <include>commons-pool:commons-pool</include>
                 <include>org.apache.thrift:libthrift:jar</include>
 
                 <!-- kafka specific jars -->
@@ -115,10 +114,8 @@
                 <include>org.apache.logging.log4j:log4j-core</include>
                 <include>org.apache.logging.log4j:log4j-slf4j2-impl</include>
                 <include>org.apache.logging.log4j:log4j-1.2-api</include>
-
-                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>org.json:json:jar</include>
-
+                <include>org.apache.commons:commons-pool2:jar</include>
                 <include>org.apache.airavata:platform-monitoring:jar</include>
                 <include>io.prometheus:simpleclient:jar</include>
                 <include>io.prometheus:simpleclient_httpserver:jar</include>
diff --git 
a/modules/ide-integration/src/main/resources/airavata-server.properties 
b/modules/ide-integration/src/main/resources/airavata-server.properties
index 95fe8ef53b..560a522b55 100644
--- a/modules/ide-integration/src/main/resources/airavata-server.properties
+++ b/modules/ide-integration/src/main/resources/airavata-server.properties
@@ -37,7 +37,7 @@ registry.jdbc.password=123456
 start.derby.server.mode=false
 validationQuery=SELECT 1 from CONFIGURATION
 cache.enable=false
-jpa.cache.size=-1
+#jpa.cache.size=-1
 
#jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true
 enable.sharing=true
 
@@ -190,7 +190,7 @@ rabbitmq.experiment.exchange.name=experiment_exchange
 durable.queue=false
 prefetch.count=200
 process.launch.queue.name=process.launch.queue
-experiment.launch..queue.name=experiment.launch.queue
+experiment.launch.queue.name=experiment.launch.queue
 
 ###########################################################################
 # Zookeeper Server Configuration
diff --git a/modules/ide-integration/src/main/resources/log4j2.xml 
b/modules/ide-integration/src/main/resources/log4j2.xml
index a06ff13d8a..39273e6d1f 100644
--- a/modules/ide-integration/src/main/resources/log4j2.xml
+++ b/modules/ide-integration/src/main/resources/log4j2.xml
@@ -44,9 +44,7 @@
         <logger name="org.apache.helix" level="WARN"/>
         <logger name="org.apache.zookeeper" level="ERROR"/>
         <logger name="org.apache.airavata" level="INFO"/>
-        <logger name="org.hibernate" level="ERROR"/>
-        <logger name="org.apache.openjpa" level="DEBUG"/>
-        <logger name="org.apache.openjpa.enhance" level="DEBUG"/>
+        <logger name="org.hibernate" level="INFO"/>
         <Root level="INFO">
             <AppenderRef ref="Console"/>
             <AppenderRef ref="RollingFileAppender"/>
diff --git a/modules/registry/registry-core/pom.xml 
b/modules/registry/registry-core/pom.xml
index 558ffc6b4e..93ac0a4af0 100644
--- a/modules/registry/registry-core/pom.xml
+++ b/modules/registry/registry-core/pom.xml
@@ -62,11 +62,10 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.apache.openjpa</groupId>
-            <artifactId>openjpa</artifactId>
-            <version>${openjpa.version}</version>
+            <groupId>org.hibernate.orm</groupId>
+            <artifactId>hibernate-core</artifactId>
+            <version>${hibernate-core.version}</version>
         </dependency>
-
         <dependency>
             <groupId>com.mysql</groupId>
             <artifactId>mysql-connector-j</artifactId>
@@ -223,32 +222,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.openjpa</groupId>
-                <artifactId>openjpa-maven-plugin</artifactId>
-                <version>${openjpa.maven.plugin.version}</version>
-                <configuration>
-                    <includes>**/model/*.class</includes>
-                    <addDefaultConstructor>true</addDefaultConstructor>
-                    
<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>enhancer</id>
-                        <phase>process-classes</phase>
-                        <goals>
-                            <goal>enhance</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.apache.openjpa</groupId>
-                        <artifactId>openjpa</artifactId>
-                        <version>${openjpa.version}</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java
index 6678c8adcd..7f8d1b98cb 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java
@@ -20,9 +20,6 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
-
 import jakarta.persistence.*;
 import java.io.Serializable;
 
@@ -49,9 +46,8 @@ public class AppEnvironmentEntity implements Serializable {
     @Column(name = "ENV_ORDER")
     private int envPathOrder;
 
-    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class)
+    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = 
CascadeType.ALL)
     @JoinColumn(name = "DEPLOYMENT_ID", nullable = false, updatable = false)
-    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private ApplicationDeploymentEntity applicationDeployment;
 
     public AppEnvironmentEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java
index 469b6cb559..422b8f3091 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java
@@ -21,8 +21,6 @@
 package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.application.io.DataType;
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
 import jakarta.persistence.*;
 import java.io.Serializable;
@@ -83,9 +81,8 @@ public class ApplicationInputEntity implements Serializable {
        @Column(name = "OVERRIDE_FILENAME")
        private String overrideFilename;
 
-       @ManyToOne(targetEntity = ApplicationInterfaceEntity.class)
+       @ManyToOne(targetEntity = ApplicationInterfaceEntity.class, cascade = 
CascadeType.ALL)
        @JoinColumn(name = "INTERFACE_ID", nullable = false, updatable = false)
-       @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
        private ApplicationInterfaceEntity applicationInterface;
 
        public ApplicationInputEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java
index 23f7c0db7b..1b85b8ba5c 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java
@@ -21,8 +21,6 @@
 package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.application.io.DataType;
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
 import jakarta.persistence.*;
 import java.io.Serializable;
@@ -75,9 +73,8 @@ public class ApplicationOutputEntity implements Serializable {
     @Column(name = "METADATA", length = 4096)
     private String metaData;
 
-    @ManyToOne(targetEntity = ApplicationInterfaceEntity.class)
+    @ManyToOne(targetEntity = ApplicationInterfaceEntity.class, cascade = 
CascadeType.ALL)
     @JoinColumn(name = "INTERFACE_ID", nullable = false, updatable = false)
-    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private ApplicationInterfaceEntity applicationInterface;
 
     public ApplicationOutputEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java
index 4fb190f0f1..a71db03771 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java
@@ -20,15 +20,8 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
-
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.Id;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.Table;
+import jakarta.persistence.*;
+
 import java.io.Serializable;
 
 /**
@@ -62,9 +55,8 @@ public class BatchQueueResourcePolicyEntity implements 
Serializable {
     @Column(name = "MAX_ALLOWED_WALLTIME")
     private Integer maxAllowedWalltime;
 
-    @ManyToOne(targetEntity = GroupResourceProfileEntity.class)
+    @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = 
CascadeType.ALL)
     @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, 
updatable = false)
-    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private GroupResourceProfileEntity groupResourceProfile;
 
     public BatchQueueResourcePolicyEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java
index 6da5d37fe0..714fdc5667 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java
@@ -20,18 +20,8 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
-
-import jakarta.persistence.CollectionTable;
-import jakarta.persistence.Column;
-import jakarta.persistence.ElementCollection;
-import jakarta.persistence.Entity;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.Id;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.Table;
+import jakarta.persistence.*;
+
 import java.io.Serializable;
 import java.util.List;
 
@@ -61,9 +51,8 @@ public class ComputeResourcePolicyEntity implements 
Serializable {
     @Column(name = "QUEUE_NAME")
     private List<String> allowedBatchQueues;
 
-    @ManyToOne(targetEntity = GroupResourceProfileEntity.class)
+    @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = 
CascadeType.ALL)
     @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, 
updatable = false)
-    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private GroupResourceProfileEntity groupResourceProfile;
 
     public ComputeResourcePolicyEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java
index 4ad124c3e1..61681e2bfe 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java
@@ -35,9 +35,6 @@ import jakarta.persistence.JoinColumns;
 import jakarta.persistence.ManyToOne;
 import jakarta.persistence.Table;
 
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
-
 /**
  * The persistent class for the COMPUTE_RESOURCE_RESERVATION database table.
  */
@@ -67,12 +64,11 @@ public class ComputeResourceReservationEntity implements 
Serializable {
 
     // TODO: FK queue table to BatchQueueEntity?
 
-    @ManyToOne(targetEntity = GroupComputeResourcePrefEntity.class)
+    @ManyToOne(targetEntity = GroupComputeResourcePrefEntity.class, cascade = 
CascadeType.ALL)
     @JoinColumns({
             @JoinColumn(name = "RESOURCE_ID", referencedColumnName = 
"RESOURCE_ID", nullable = false, updatable = false),
             @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", 
referencedColumnName = "GROUP_RESOURCE_PROFILE_ID", nullable = false, updatable 
= false)
     })
-    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private GroupComputeResourcePrefEntity groupComputeResourcePref;
 
     public ComputeResourceReservationEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java
index f910d86ae7..696a3e7df3 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java
@@ -21,8 +21,6 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import 
org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
 import org.apache.airavata.model.data.movement.DataMovementProtocol;
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
 import jakarta.persistence.CascadeType;
 import jakarta.persistence.Column;
@@ -104,9 +102,8 @@ public class GroupComputeResourcePrefEntity implements 
Serializable {
     @OrderBy("startTime ASC")
     private List<ComputeResourceReservationEntity> reservations;
 
-    @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = 
CascadeType.PERSIST)
+    @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = 
CascadeType.ALL)
     @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, 
updatable = false)
-    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private  GroupResourceProfileEntity groupResourceProfile;
 
     public GroupComputeResourcePrefEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java
index e1f6d6488d..074904523b 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java
@@ -19,9 +19,6 @@
  */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
-
 import jakarta.persistence.CascadeType;
 import jakarta.persistence.Column;
 import jakarta.persistence.Entity;
@@ -58,12 +55,11 @@ public class GroupSSHAccountProvisionerConfig implements 
Serializable{
     @Column(name = "CONFIG_VALUE")
     private String configValue;
 
-    @ManyToOne(targetEntity = GroupComputeResourcePrefEntity.class)
+    @ManyToOne(targetEntity = GroupComputeResourcePrefEntity.class, cascade = 
CascadeType.ALL)
     @JoinColumns({
             @JoinColumn(name = "RESOURCE_ID", referencedColumnName = 
"RESOURCE_ID", nullable = false),
             @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", 
referencedColumnName = "GROUP_RESOURCE_PROFILE_ID", nullable = false)
     })
-    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private GroupComputeResourcePrefEntity groupComputeResourcePref;
 
     public GroupSSHAccountProvisionerConfig() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java
index cac0909c33..5074cfb797 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java
@@ -20,9 +20,6 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
-
 import jakarta.persistence.*;
 import java.io.Serializable;
 
@@ -47,9 +44,8 @@ public class LibraryApendPathEntity implements Serializable {
     @Column(name = "NAME")
     private String name;
 
-    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = 
CascadeType.MERGE)
+    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = 
CascadeType.ALL)
     @JoinColumn(name = "DEPLOYMENT_ID")
-    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private ApplicationDeploymentEntity applicationDeployment;
 
     public LibraryApendPathEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java
index 7c6b01b70b..9538894f0a 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java
@@ -20,9 +20,6 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
-
 import jakarta.persistence.*;
 import java.io.Serializable;
 
@@ -48,9 +45,8 @@ public class LibraryPrependPathEntity implements Serializable 
{
        @Column(name="NAME")
        private String name;
 
-       @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = 
CascadeType.MERGE)
+       @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = 
CascadeType.ALL)
        @JoinColumn(name = "DEPLOYMENT_ID")
-       @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
        private ApplicationDeploymentEntity applicationDeployment;
 
        public LibraryPrependPathEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java
index 6be32a65e7..b63e9410e4 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java
@@ -19,10 +19,6 @@
  *
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
-
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
-
 import jakarta.persistence.*;
 import java.io.Serializable;
 
@@ -46,9 +42,8 @@ public class ModuleLoadCmdEntity implements Serializable {
     @Column(name = "COMMAND_ORDER")
     private int commandOrder;
 
-    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = 
CascadeType.MERGE)
+    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = 
CascadeType.ALL)
     @JoinColumn(name = "APP_DEPLOYMENT_ID")
-    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private ApplicationDeploymentEntity applicationDeployment;
 
     public ModuleLoadCmdEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java
index babd441cd3..971d98767c 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java
@@ -20,9 +20,6 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
-
 import jakarta.persistence.*;
 import java.io.Serializable;
 
@@ -47,9 +44,8 @@ public class PostjobCommandEntity implements Serializable {
     @Column(name = "COMMAND_ORDER")
     private int commandOrder;
 
-    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = 
CascadeType.MERGE)
+    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = 
CascadeType.ALL)
     @JoinColumn(name = "APPDEPLOYMENT_ID")
-    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private ApplicationDeploymentEntity applicationDeployment;
 
     public PostjobCommandEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java
index 644c56da15..e227f90395 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java
@@ -20,9 +20,6 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
-
 import jakarta.persistence.*;
 import java.io.Serializable;
 
@@ -47,9 +44,8 @@ public class PrejobCommandEntity implements Serializable {
     @Column(name = "COMMAND_ORDER")
     private int commandOrder;
 
-    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = 
CascadeType.MERGE)
+    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = 
CascadeType.ALL)
     @JoinColumn(name = "APPDEPLOYMENT_ID")
-    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private ApplicationDeploymentEntity applicationDeployment;
 
     public PrejobCommandEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java
index 97bba99300..04fa5d8004 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java
@@ -1,46 +1,77 @@
 package org.apache.airavata.registry.core.utils.migration;
 
+import jakarta.persistence.Persistence;
+import jakarta.persistence.metamodel.Type;
 import org.apache.airavata.common.utils.JDBCConfig;
 import org.apache.airavata.common.utils.JPAUtils;
-import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
-import org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl;
-import org.apache.openjpa.jdbc.meta.MappingTool;
-import org.apache.openjpa.lib.util.Options;
+
+import org.hibernate.boot.Metadata;
+import org.hibernate.boot.MetadataSources;
+import org.hibernate.boot.registry.StandardServiceRegistry;
+import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
+import org.hibernate.tool.schema.internal.SchemaCreatorImpl;
+import org.hibernate.dialect.MySQLDialect;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Properties;
+
 public class MappingToolRunner {
 
     private static Logger logger = 
LoggerFactory.getLogger(MappingToolRunner.class);
 
     public static void run(JDBCConfig jdbcConfig, String outputFile, String 
persistenceUnitName) {
-        run(jdbcConfig, outputFile, persistenceUnitName, 
MappingTool.ACTION_ADD);
+        run(jdbcConfig, outputFile, persistenceUnitName, "create");
     }
 
-    // schemaAction is one of MappingTool's supported actions: 
http://openjpa.apache.org/builds/2.4.3/apache-openjpa/docs/ref_guide_mapping.html#ref_guide_mapping_mappingtool
     public static void run(JDBCConfig jdbcConfig, String outputFile, String 
persistenceUnitName, String schemaAction) {
 
-        JDBCConfiguration jdbcConfiguration = new JDBCConfigurationImpl();
-        
jdbcConfiguration.fromProperties(JPAUtils.createConnectionProperties(jdbcConfig));
-        
jdbcConfiguration.setConnectionDriverName("org.apache.commons.dbcp.BasicDataSource");
-
-        Options options = new Options();
-        options.put("sqlFile", outputFile);
-        // schemaAction "add" brings the schema up to date by adding missing 
schema elements
-        // schemaAction "build" creates the entire schema as if the database 
is empty
-        options.put("schemaAction", schemaAction);
-        options.put("foreignKeys", "true");
-        options.put("indexes", "true");
-        options.put("primaryKeys", "true");
-        // Specify persistence-unit name using it's anchor in the 
persistence.xml file
-        // 
http://openjpa.apache.org/builds/2.4.3/apache-openjpa/docs/ref_guide_conf_devtools.html
-        options.put("properties", "persistence.xml#" + persistenceUnitName);
+        Properties properties = new Properties();
+        properties.putAll(JPAUtils.createConnectionProperties(jdbcConfig));
+        properties.put("hibernate.dialect", MySQLDialect.class.getName());
+        properties.put("hibernate.hbm2ddl.auto", schemaAction);
+        StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
+                .applySettings(properties)
+                .build();
+        MetadataSources metadataSources = new MetadataSources(registry);
+        
Arrays.stream(getEntityClasses(persistenceUnitName)).forEach(metadataSources::addAnnotatedClass);
+
+        Metadata metadata = metadataSources.buildMetadata();
+        try (FileWriter fileWriter = new FileWriter(outputFile)) {
+            String schemaScript = generateSchema(metadata, registry);
+            fileWriter.write(schemaScript);
+            logger.info("Generated schema script at: {}", outputFile);
+        } catch (IOException e) {
+            logger.error("Failed to write schema script to file", e);
+            throw new RuntimeException("Failed to write schema script to 
file", e);
+        } finally {
+            StandardServiceRegistryBuilder.destroy(registry);
+        }
+    }
+
+    private static String generateSchema(Metadata metadata, 
StandardServiceRegistry registry) {
+        StringBuilder schemaScript = new StringBuilder();
+        SchemaCreatorImpl schemaCreator = new SchemaCreatorImpl(registry);
+        schemaCreator.generateCreationCommands(metadata, true).forEach(query 
-> {
+            schemaScript.append(query).append(";\n");
+        });
+        return schemaScript.toString();
+    }
+
+    private static Class<?>[] getEntityClasses(String persistenceUnitName) {
         try {
-            MappingTool.run(jdbcConfiguration, new String[] {}, options, null);
-        } catch (Exception mappingToolEx) {
-            logger.error("Failed to run MappingTool", mappingToolEx);
-            throw new RuntimeException(
-                    "Failed to run MappingTool to generate migration script", 
mappingToolEx);
+            return Persistence.createEntityManagerFactory(persistenceUnitName)
+                    .getMetamodel()
+                    .getEntities()
+                    .stream()
+                    .map(Type::getJavaType)
+                    .toArray(Class<?>[]::new);
+        } catch (Exception e) {
+            logger.error("Failed to load entity classes from persistence unit: 
{}", persistenceUnitName, e);
+            throw new RuntimeException("Failed to load entity classes from 
persistence unit", e);
         }
     }
 }
diff --git 
a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml 
b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
index f3b4ef035c..0dc11b6650 100644
--- a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
+++ b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
@@ -21,7 +21,7 @@
 * -->
 <persistence xmlns="http://java.sun.com/xml/ns/persistence"; version="2.0">
     <persistence-unit name="appcatalog_data_new">
-        
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
         
<class>org.apache.airavata.registry.core.entities.appcatalog.GridftpDataMovementEntity</class>
         
<class>org.apache.airavata.registry.core.entities.appcatalog.ResourceJobManagerEntity</class>
         
<class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceEntity</class>
@@ -82,11 +82,11 @@
         
<class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceReservationEntity</class>
         <exclude-unlisted-classes>true</exclude-unlisted-classes>
         <properties>
-            <property name="openjpa.jdbc.MappingDefaults"
-                      value="ForeignKeyDeleteAction=cascade, 
JoinForeignKeyDeleteAction=cascade" />
+            <property name="hibernate.cascade" value="all"/>
         </properties>
     </persistence-unit>
     <persistence-unit name="replicacatalog_data_new">
+        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
         
<class>org.apache.airavata.registry.core.entities.replicacatalog.ConfigurationEntity</class>
         
<class>org.apache.airavata.registry.core.entities.replicacatalog.DataProductEntity</class>
         
<class>org.apache.airavata.registry.core.entities.replicacatalog.DataProductMetadataEntity</class>
@@ -94,11 +94,11 @@
         
<class>org.apache.airavata.registry.core.entities.replicacatalog.DataReplicaMetadataEntity</class>
         <exclude-unlisted-classes>true</exclude-unlisted-classes>
         <properties>
-            <property name="openjpa.jdbc.MappingDefaults"
-                      value="ForeignKeyDeleteAction=cascade, 
JoinForeignKeyDeleteAction=cascade" />
+            <property name="hibernate.cascade" value="all"/>
         </properties>
     </persistence-unit>
     <persistence-unit name="workflowcatalog_data_new">
+        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
         
<class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.AiravataWorkflowEntity</class>
         
<class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.AiravataWorkflowErrorEntity</class>
         
<class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.AiravataWorkflowStatusEntity</class>
@@ -114,11 +114,11 @@
         
<class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.WorkflowHandlerEntity</class>
         <exclude-unlisted-classes>true</exclude-unlisted-classes>
         <properties>
-            <property name="openjpa.jdbc.MappingDefaults"
-                      value="ForeignKeyDeleteAction=cascade, 
JoinForeignKeyDeleteAction=cascade" />
+            <property name="hibernate.cascade" value="all"/>
         </properties>
     </persistence-unit>
     <persistence-unit name="experiment_data_new">
+        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
         
<class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentEntity</class>
         
<class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentErrorEntity</class>
         
<class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentInputEntity</class>
@@ -149,8 +149,7 @@
         
<class>org.apache.airavata.registry.core.entities.expcatalog.UserEntity</class>
         <exclude-unlisted-classes>true</exclude-unlisted-classes>
         <properties>
-            <property name="openjpa.jdbc.MappingDefaults"
-                      value="ForeignKeyDeleteAction=cascade, 
JoinForeignKeyDeleteAction=cascade" />
+            <property name="hibernate.cascade" value="all"/>
         </properties>
     </persistence-unit>
 </persistence>
diff --git 
a/modules/registry/registry-core/src/main/resources/migrations-util/mysql/airavata-server.properties
 
b/modules/registry/registry-core/src/main/resources/migrations-util/mysql/airavata-server.properties
index ed79857f8d..6fe17b5fac 100644
--- 
a/modules/registry/registry-core/src/main/resources/migrations-util/mysql/airavata-server.properties
+++ 
b/modules/registry/registry-core/src/main/resources/migrations-util/mysql/airavata-server.properties
@@ -32,7 +32,7 @@
 #for derby [AiravataJPARegistry]
 registry.jdbc.driver=org.mariadb.jdbc.Driver
 registry.jdbc.url=jdbc:mariadb://airavata.host:13306/experiment_catalog
-registry.jdbc.user=airavata
+registry.jdbc.user=root
 registry.jdbc.password=123456
 validationQuery=SELECT 1 from CONFIGURATION
 
@@ -48,7 +48,7 @@ default.registry.oauth.client.secret=client_secret
 #for derby [AiravataJPARegistry]
 appcatalog.jdbc.driver=org.mariadb.jdbc.Driver
 appcatalog.jdbc.url=jdbc:mariadb://airavata.host:13306/app_catalog
-appcatalog.jdbc.user=airavata
+appcatalog.jdbc.user=root
 appcatalog.jdbc.password=123456
 appcatalog.validationQuery=SELECT 1 from CONFIGURATION
 
@@ -58,6 +58,6 @@ appcatalog.validationQuery=SELECT 1 from CONFIGURATION
 #for derby [AiravataJPARegistry]
 replicacatalog.jdbc.driver=org.mariadb.jdbc.Driver
 replicacatalog.jdbc.url=jdbc:mariadb://airavata.host:13306/replica_catalog
-replicacatalog.jdbc.user=airavata
+replicacatalog.jdbc.user=root
 replicacatalog.jdbc.password=123456
 replicacatalog.validationQuery=SELECT 1 from CONFIGURATION
diff --git 
a/modules/registry/registry-tools/jpa-gen/src/main/java/generators/JPAClassGenerator.java
 
b/modules/registry/registry-tools/jpa-gen/src/main/java/generators/JPAClassGenerator.java
index 691ce406dd..734daf9c02 100644
--- 
a/modules/registry/registry-tools/jpa-gen/src/main/java/generators/JPAClassGenerator.java
+++ 
b/modules/registry/registry-tools/jpa-gen/src/main/java/generators/JPAClassGenerator.java
@@ -222,9 +222,9 @@ public class JPAClassGenerator extends AbstractGenerator{
 
        public String generatePersistenceXmlEntry(JPAClassModel model){
                String xmlEntry=null;
-               xmlEntry=addLines(xmlEntry,"<persistence 
xmlns=\"http://java.sun.com/xml/ns/persistence\"; 
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"; version=\"1.0\">");
+               xmlEntry=addLines(xmlEntry,"<persistence 
xmlns=\"http://java.sun.com/xml/ns/persistence\"; 
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"; version=\"2.0\">");
                xmlEntry=addLines(xmlEntry,tabs(1)+"<persistence-unit 
name=\"appcatalog_data\">");
-               
xmlEntry=addLines(xmlEntry,tabs(2)+"<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>");
+               
xmlEntry=addLines(xmlEntry,tabs(2)+"<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>");
                
xmlEntry=addLines(xmlEntry,tabs(2)+"<class>"+getJpaClassPackageName()+"."+model.className+"</class>");
                
xmlEntry=addLines(xmlEntry,tabs(2)+"<exclude-unlisted-classes>true</exclude-unlisted-classes>");
                xmlEntry=addLines(xmlEntry,tabs(1)+"</persistence-unit>");
diff --git a/modules/security/pom.xml b/modules/security/pom.xml
index a6f4c968b1..eb15c2c740 100644
--- a/modules/security/pom.xml
+++ b/modules/security/pom.xml
@@ -45,9 +45,9 @@
             <version>${shiro-core.version}</version>
         </dependency>
         <dependency>
-            <groupId>commons-dbcp</groupId>
-            <artifactId>commons-dbcp</artifactId>
-            <version>${commons-dbcp.version}</version>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-dbcp2</artifactId>
+            <version>${commons-dbcp2.version}</version>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
diff --git a/modules/sharing-registry/sharing-registry-distribution/pom.xml 
b/modules/sharing-registry/sharing-registry-distribution/pom.xml
index aa5983f12b..bda0ba22d3 100644
--- a/modules/sharing-registry/sharing-registry-distribution/pom.xml
+++ b/modules/sharing-registry/sharing-registry-distribution/pom.xml
@@ -56,9 +56,9 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.apache.openjpa</groupId>
-            <artifactId>openjpa</artifactId>
-            <version>${openjpa.version}</version>
+            <groupId>org.hibernate.orm</groupId>
+            <artifactId>hibernate-core</artifactId>
+            <version>${hibernate-core.version}</version>
         </dependency>
         <dependency>
             <groupId>com.mysql</groupId>
diff --git a/modules/sharing-registry/sharing-registry-server/pom.xml 
b/modules/sharing-registry/sharing-registry-server/pom.xml
index b03624c8d9..12df6ede0b 100644
--- a/modules/sharing-registry/sharing-registry-server/pom.xml
+++ b/modules/sharing-registry/sharing-registry-server/pom.xml
@@ -66,9 +66,9 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.apache.openjpa</groupId>
-            <artifactId>openjpa</artifactId>
-            <version>${openjpa.version}</version>
+            <groupId>org.hibernate.orm</groupId>
+            <artifactId>hibernate-core</artifactId>
+            <version>${hibernate-core.version}</version>
         </dependency>
         <dependency>
             <groupId>com.mysql</groupId>
@@ -114,33 +114,6 @@
                 <artifactId>maven-jar-plugin</artifactId>
                 <version>${maven-jar-plugin.version}</version>
             </plugin>
-            <plugin>
-                <groupId>org.apache.openjpa</groupId>
-                <artifactId>openjpa-maven-plugin</artifactId>
-                <version>${openjpa.maven.plugin.version}</version>
-                <configuration>
-                    <includes>**/entities/*.class</includes>
-                    <excludes>**/entities/XML*.class</excludes>
-                    <addDefaultConstructor>true</addDefaultConstructor>
-                    
<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
-                </configuration>
-                <executions>
-                    <execution>
-                      <id>enhancer</id>
-                      <phase>process-classes</phase>
-                      <goals>
-                        <goal>enhance</goal>
-                      </goals>
-                    </execution>
-                </executions>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.apache.openjpa</groupId>
-                        <artifactId>openjpa</artifactId>
-                        <version>${openjpa.version}</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
         </plugins>
         <resources>
             <resource>
diff --git 
a/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml
 
b/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml
index adcc54c1cb..596d3c2a92 100644
--- 
a/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml
+++ 
b/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml
@@ -2,7 +2,7 @@
 <persistence xmlns="http://java.sun.com/xml/ns/persistence"; version="2.0">
 
     <persistence-unit name="airavata-sharing-registry">
-        
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
         
<class>org.apache.airavata.sharing.registry.db.entities.DomainEntity</class>
         
<class>org.apache.airavata.sharing.registry.db.entities.EntityEntity</class>
         
<class>org.apache.airavata.sharing.registry.db.entities.EntityTypeEntity</class>
@@ -13,8 +13,7 @@
         
<class>org.apache.airavata.sharing.registry.db.entities.GroupAdminEntity</class>
         
<class>org.apache.airavata.sharing.registry.db.entities.UserGroupEntity</class>
         <properties>
-            <property name="openjpa.jdbc.MappingDefaults"
-                      value="ForeignKeyDeleteAction=cascade, 
JoinForeignKeyDeleteAction=cascade" />
+            <property name="hibernate.cascade" value="all"/>
         </properties>
     </persistence-unit>
 </persistence>
diff --git a/pom.xml b/pom.xml
index 08b0ee499a..e3d77825e2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -111,7 +111,7 @@
         <log4j2.slf4j.impl>2.24.3</log4j2.slf4j.impl>
         <surefire.version>3.0.0-M4</surefire.version>
         <junit.version>4.13.1</junit.version>
-        <curator.version>5.6.0</curator.version>
+        <curator.version>5.7.1</curator.version>
         <groovy.version>3.0.23</groovy.version>
         <xpp3.version>1.1.6</xpp3.version>
         <xpp5.version>1.2.8</xpp5.version>
@@ -140,15 +140,14 @@
         <json.version>20250107</json.version>
         <google.guava.version>33.2.1-jre</google.guava.version>
         <jacoco.version>0.8.1</jacoco.version>
-        <openjpa.maven.plugin.version>4.0.1</openjpa.maven.plugin.version>
-        <openjpa.version>4.0.1</openjpa.version>
         <dozer.version>5.4.0</dozer.version>
         <jakarta.annotation.version>2.1.1</jakarta.annotation.version>
         <javax.annotation.version>1.3.2</javax.annotation.version>
         <jakarta.xml.bind-api.version>4.0.0</jakarta.xml.bind-api.version>
         <jakarta.ws.rs-api.version>3.1.0</jakarta.ws.rs-api.version>
+        
<jakarta.transaction-api.version>2.0.1</jakarta.transaction-api.version>
         <angus-activation.version>2.0.2</angus-activation.version>
-        <jaxb.version>2.4.0-b180830.0359</jaxb.version>
+        <jaxb-api.version>2.4.0-b180830.0359</jaxb-api.version>
         <jmockit.version>1.44</jmockit.version>
         <helix.version>1.4.3</helix.version>
         <keycloak.admin.client.version>24.0.4</keycloak.admin.client.version>
@@ -170,8 +169,7 @@
         <commons-beanutils.version>1.9.2</commons-beanutils.version>
         <commons-io.version>2.18.0</commons-io.version>
         <commons-pool2.version>2.12.1</commons-pool2.version>
-        <commons-pool.version>1.6</commons-pool.version>
-        <commons-dbcp.version>1.4</commons-dbcp.version>
+        <commons-dbcp2.version>2.13.0</commons-dbcp2.version>
         <commons-cli.version>1.9.0</commons-cli.version>
         <commons-email.version>1.5</commons-email.version>
         <commons-codec.version>1.18.0</commons-codec.version>
@@ -220,11 +218,15 @@
         <snappy-java.version>1.1.10.7</snappy-java.version>
         <netty.version>4.1.113.Final</netty.version>
         <logback.version>1.4.14</logback.version>
+        <hibernate-core.version>6.6.11.Final</hibernate-core.version>
         <!-- From Agent Service -->
         <protobuf-java.version>3.25.5</protobuf-java.version>
         <protobuf-maven-plugin.version>2.12.1</protobuf-maven-plugin.version>
         <grpc.version>1.63.0</grpc.version>
         <j2objc-annotations.version>2.8</j2objc-annotations.version>
+        <jakarta.inject-api.version>2.0.1</jakarta.inject-api.version>
+        <jaxb-runtime.version>4.0.5</jaxb-runtime.version>
+        <jboss-logging.version>3.5.3.Final</jboss-logging.version>
     </properties>
 
     <dependencies>
@@ -463,9 +465,9 @@
                 <version>${commons-lang.version}</version>
             </dependency>
             <dependency>
-                <groupId>commons-pool</groupId>
-                <artifactId>commons-pool</artifactId>
-                <version>${commons-pool.version}</version>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-dbcp2</artifactId>
+                <version>${commons-dbcp2.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.commons</groupId>
@@ -481,7 +483,7 @@
             <dependency>
                 <groupId>javax.xml.bind</groupId>
                 <artifactId>jaxb-api</artifactId>
-                <version>${jaxb.version}</version>
+                <version>${jaxb-api.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.json</groupId>
@@ -598,6 +600,36 @@
                 <artifactId>j2objc-annotations</artifactId>
                 <version>${j2objc-annotations.version}</version>
             </dependency>
+            <dependency>
+                <groupId>jakarta.inject</groupId>
+                <artifactId>jakarta.inject-api</artifactId>
+                <version>${jakarta.inject-api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.jaxb</groupId>
+                <artifactId>jaxb-core</artifactId>
+                <version>${jaxb-runtime.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.jaxb</groupId>
+                <artifactId>jaxb-runtime</artifactId>
+                <version>${jaxb-runtime.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.jaxb</groupId>
+                <artifactId>txw2</artifactId>
+                <version>${jaxb-runtime.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.logging</groupId>
+                <artifactId>jboss-logging</artifactId>
+                <version>${jboss-logging.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>jakarta.transaction</groupId>
+                <artifactId>jakarta.transaction-api</artifactId>
+                <version>${jakarta.transaction-api.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 

Reply via email to