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 8a750ed8aa9cb1aaf467ee3d7fa4b494e25c6850
Author: yasithdev <[email protected]>
AuthorDate: Fri Mar 21 17:35:43 2025 +0000

    get hibernate orm to validate against test db. manually specify catalog for 
conflicting entities.
---
 .../commons/tenant/entities/GatewayEntity.java     |   7 +-
 .../common/utils/DBConnectionProvider.java         | 185 +++++++++++++++++++++
 .../org/apache/airavata/common/utils/JPAUtils.java |   3 +-
 .../AiravataWorkflowErrorEntity.java               |   6 +-
 .../ApplicationErrorEntity.java                    |   6 +-
 .../HandlerErrorEntity.java                        |   6 +-
 .../HandlerInputEntity.java                        |  10 +-
 .../HandlerOutputEntity.java                       |   6 +-
 .../appcatalog/ApplicationInputEntity.java         |  14 +-
 .../appcatalog/ApplicationInterfaceEntity.java     |   2 +-
 .../appcatalog/ApplicationOutputEntity.java        |   8 +-
 .../appcatalog/BatchQueueResourcePolicyEntity.java |   2 +-
 .../appcatalog/ComputeResourcePolicyEntity.java    |   2 +-
 .../ComputeResourcePreferenceEntity.java           |   4 +-
 .../entities/appcatalog/GatewayProfileEntity.java  |   2 +-
 .../appcatalog/GroupComputeResourcePrefEntity.java |   4 +-
 .../appcatalog/JobManagerCommandEntity.java        |   2 +-
 .../entities/appcatalog/LocalSubmissionEntity.java |   2 +-
 .../appcatalog/ParallelismCommandEntity.java       |   2 +-
 .../entities/appcatalog/ParserConnectorEntity.java |   6 +-
 .../appcatalog/ParserConnectorInputEntity.java     |   6 +-
 .../entities/appcatalog/ParserInputEntity.java     |   2 +-
 .../entities/appcatalog/ParserOutputEntity.java    |   2 +-
 .../appcatalog/ParsingTemplateInputEntity.java     |   4 +-
 .../SSHAccountProvisionerConfiguration.java        |   2 +-
 .../appcatalog/SshJobSubmissionEntity.java         |   2 +-
 .../appcatalog/StoragePreferenceEntity.java        |   2 +-
 .../entities/appcatalog/StorageResourceEntity.java |   2 +-
 .../core/entities/expcatalog/ExperimentEntity.java |   2 +-
 .../entities/expcatalog/ExperimentErrorEntity.java |   6 +-
 .../entities/expcatalog/ExperimentInputEntity.java |  12 +-
 .../expcatalog/ExperimentOutputEntity.java         |   8 +-
 .../expcatalog/ExperimentStatusEntity.java         |   2 +-
 .../expcatalog/ExperimentSummaryEntity.java        |   2 +-
 .../core/entities/expcatalog/GatewayEntity.java    |   2 +-
 .../GatewayUsageReportingCommandEntity.java        |   2 +-
 .../core/entities/expcatalog/JobEntity.java        |   6 +-
 .../core/entities/expcatalog/JobStatusEntity.java  |   2 +-
 .../core/entities/expcatalog/ProcessEntity.java    |  10 +-
 .../entities/expcatalog/ProcessErrorEntity.java    |   6 +-
 .../entities/expcatalog/ProcessInputEntity.java    |  12 +-
 .../entities/expcatalog/ProcessOutputEntity.java   |   8 +-
 .../entities/expcatalog/ProcessStatusEntity.java   |   2 +-
 .../entities/expcatalog/ProcessWorkflowEntity.java |   6 +-
 .../entities/expcatalog/ProcessWorkflowPK.java     |  10 +-
 .../entities/expcatalog/QueueStatusEntity.java     |   4 +-
 .../core/entities/expcatalog/TaskEntity.java       |   6 +-
 .../core/entities/expcatalog/TaskErrorEntity.java  |   6 +-
 .../core/entities/expcatalog/TaskStatusEntity.java |   2 +-
 .../expcatalog/UserConfigurationDataEntity.java    |   2 +-
 .../entities/workflowcatalog/WorkflowEntity.java   |   8 +-
 .../workflowcatalog/WorkflowInputEntity.java       |  12 +-
 .../workflowcatalog/WorkflowOutputEntity.java      |   4 +-
 .../sharing/registry/db/entities/EntityEntity.java |  10 +-
 .../sharing/registry/db/entities/UserEntity.java   |  10 +-
 pom.xml                                            |   4 +-
 56 files changed, 328 insertions(+), 139 deletions(-)

diff --git 
a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/tenant/entities/GatewayEntity.java
 
b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/tenant/entities/GatewayEntity.java
index b3d76aadea..20e8e6487e 100644
--- 
a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/tenant/entities/GatewayEntity.java
+++ 
b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/tenant/entities/GatewayEntity.java
@@ -23,12 +23,13 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import jakarta.persistence.*;
-import java.util.Date;
+
+import java.io.Serializable;
 import java.util.UUID;
 
 @Entity
-@Table(name = "GATEWAY")
-public class GatewayEntity {
+@Table(name = "GATEWAY", catalog = "profile_service")
+public class GatewayEntity implements Serializable {
     private final static Logger logger = 
LoggerFactory.getLogger(GatewayEntity.class);
     private String airavataInternalGatewayId;
     private String gatewayId;
diff --git 
a/modules/commons/src/main/java/org/apache/airavata/common/utils/DBConnectionProvider.java
 
b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBConnectionProvider.java
new file mode 100644
index 0000000000..62fbc713b7
--- /dev/null
+++ 
b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBConnectionProvider.java
@@ -0,0 +1,185 @@
+package org.apache.airavata.common.utils;
+
+import org.apache.commons.dbcp2.BasicDataSource;
+import org.checkerframework.checker.initialization.qual.Initialized;
+import org.checkerframework.checker.nullness.qual.NonNull;
+import org.checkerframework.checker.nullness.qual.UnknownKeyFor;
+import org.hibernate.HibernateException;
+import org.hibernate.dialect.DatabaseVersion;
+import org.hibernate.dialect.Dialect;
+import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
+import org.hibernate.engine.jdbc.connections.spi.DatabaseConnectionInfo;
+import org.hibernate.service.UnknownUnwrapTypeException;
+import org.hibernate.service.spi.Configurable;
+import org.hibernate.service.spi.Stoppable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.text.MessageFormat;
+import java.time.Duration;
+import java.util.Map;
+
+@SuppressWarnings({"unused"}) // implicitly used by the ORM
+public class DBConnectionProvider implements ConnectionProvider, Configurable, 
Stoppable {
+    private static final Logger logger = 
LoggerFactory.getLogger(DBConnectionProvider.class);
+    private static final String dataSourceAsString = """
+            BasicDataSource:
+              Driver={0},
+              URL={1},
+              Username={2},
+              ValidationQuery={3},
+              InitialSize={4},
+              MaxTotal={5},
+              MaxIdle={6},
+              MinIdle={7},
+              MaxWaitMs={8}
+            """;
+    private static BasicDataSource dataSource;
+
+    @Override
+    public void configure(Map configValues) throws HibernateException {
+        String driverClass = (String) 
configValues.get("hibernate.connection.driver_class");
+        String url = (String) configValues.get("hibernate.connection.url");
+        String username = (String) 
configValues.get("hibernate.connection.username");
+        String password = (String) 
configValues.get("hibernate.connection.password");
+        String validationQuery = (String) 
configValues.get("hibernate.connection.validationQuery");
+        int initialSize = Integer.parseInt((String) 
configValues.get("hibernate.dbcp2.initialSize"));
+        int maxTotal = Integer.parseInt((String) 
configValues.get("hibernate.dbcp2.maxTotal"));
+        int maxIdle = Integer.parseInt((String) 
configValues.get("hibernate.dbcp2.maxIdle"));
+        int minIdle = Integer.parseInt((String) 
configValues.get("hibernate.dbcp2.minIdle"));
+        int maxWaitMillis = Integer.parseInt((String) 
configValues.get("hibernate.dbcp2.maxWaitMillis"));
+
+        dataSource = new BasicDataSource();
+        dataSource.setDriverClassName(driverClass);
+        dataSource.setUrl(url);
+        dataSource.setUsername(username);
+        dataSource.setPassword(password);
+        if (validationQuery != null && !validationQuery.isEmpty()) {
+            dataSource.setValidationQuery(validationQuery);
+        }
+        dataSource.setInitialSize(initialSize);
+        dataSource.setMaxTotal(maxTotal);
+        dataSource.setMaxIdle(maxIdle);
+        dataSource.setMinIdle(minIdle);
+        dataSource.setMaxWait(Duration.ofMillis(maxWaitMillis));
+        logger.debug("DBCP2 DataSource configured : {}", url);
+    }
+
+    @Override
+    public Connection getConnection() throws SQLException {
+        return dataSource.getConnection();
+    }
+
+    @Override
+    public void closeConnection(Connection conn) throws SQLException {
+        conn.close();
+    }
+
+    @Override
+    public boolean supportsAggressiveRelease() {
+        return false;
+    }
+
+    /**
+     * Called by Hibernate during shutdown to close the DataSource.
+     */
+    @Override
+    public void stop() {
+        try {
+            dataSource.close();
+            logger.debug("DBCP2 DataSource closed.");
+        } catch (SQLException e) {
+            logger.error("Error closing DBCP2 DataSource", e);
+        }
+    }
+
+    /**
+     * For the Wrapped interface. Determines if this provider can be unwrapped 
as the given type.
+     */
+    @Override
+    public boolean isUnwrappableAs(Class<?> unwrapType) {
+        return unwrapType.isAssignableFrom(getClass()) || 
ConnectionProvider.class.equals(unwrapType);
+    }
+
+    /**
+     * For the Wrapped interface. Returns an instance of the specified unwrap 
type.
+     */
+    @Override
+    @SuppressWarnings("unchecked")
+    public <@UnknownKeyFor @NonNull @Initialized T> T unwrap(@UnknownKeyFor 
@NonNull @Initialized Class<T> unwrapType) {
+        if (isUnwrappableAs(unwrapType)) {
+            return (T) this;
+        }
+        throw new UnknownUnwrapTypeException(unwrapType);
+    }
+
+    /**
+     * Provides connection info for Hibernate to display or use internally.
+     * If you wish, you can parse the DB name from the URL or set it to null.
+     */
+    @Override
+    public DatabaseConnectionInfo getDatabaseConnectionInfo(Dialect dialect) {
+        return new DatabaseConnectionInfo() {
+            @Override
+            public String getJdbcUrl() {
+                return dataSource.getUrl();
+            }
+
+            @Override
+            public String getJdbcDriver() {
+                return dataSource.getDriverClassName();
+            }
+
+            @Override
+            public DatabaseVersion getDialectVersion() {
+                return DatabaseVersion.make(8, 0);
+            }
+
+            @Override
+            public String getAutoCommitMode() {
+                boolean autoCommit = dataSource.getDefaultAutoCommit();
+                return Boolean.toString(autoCommit);
+            }
+
+            @Override
+            public String getIsolationLevel() {
+                int isolation = dataSource.getDefaultTransactionIsolation();
+                return switch (isolation) {
+                    case Connection.TRANSACTION_NONE -> "TRANSACTION_NONE";
+                    case Connection.TRANSACTION_READ_UNCOMMITTED -> 
"TRANSACTION_READ_UNCOMMITTED";
+                    case Connection.TRANSACTION_READ_COMMITTED -> 
"TRANSACTION_READ_COMMITTED";
+                    case Connection.TRANSACTION_REPEATABLE_READ -> 
"TRANSACTION_REPEATABLE_READ";
+                    case Connection.TRANSACTION_SERIALIZABLE -> 
"TRANSACTION_SERIALIZABLE";
+                    default -> "UNKNOWN_ISOLATION_LEVEL";
+                };
+            }
+
+            @Override
+            public Integer getPoolMinSize() {
+                return dataSource.getConnectionPool().getMinIdle();
+            }
+
+            @Override
+            public Integer getPoolMaxSize() {
+                return dataSource.getConnectionPool().getMaxTotal();
+            }
+
+            @Override
+            public String toInfoString() {
+                return MessageFormat.format(dataSourceAsString,
+                        dataSource.getDriverClassName(),
+                        dataSource.getUrl(),
+                        dataSource.getUserName(),
+                        dataSource.getValidationQuery(),
+                        dataSource.getInitialSize(),
+                        dataSource.getMaxTotal(),
+                        dataSource.getMaxIdle(),
+                        dataSource.getMinIdle(),
+                        dataSource.getMaxWaitDuration()
+                );
+            }
+        };
+    }
+}
\ No newline at end of file
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 7d770f5f04..b3b295f616 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
@@ -19,7 +19,6 @@ public class JPAUtils {
     private final static Map<String, String> 
DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES;
     static {
         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");
@@ -60,7 +59,7 @@ public class JPAUtils {
 
     public static Map<String, String> createConnectionProperties(JDBCConfig 
jdbcConfig) {
         Map<String, String> connectionProperties = new HashMap<>();
-        connectionProperties.put("hibernate.connection.provider_class", 
"org.apache.commons.dbcp2.BasicDataSource");
+        connectionProperties.put("hibernate.connection.provider_class", 
"org.apache.airavata.common.utils.DBConnectionProvider");
         connectionProperties.put("hibernate.connection.driver_class", 
jdbcConfig.getDriver());
         connectionProperties.put("hibernate.connection.url", 
jdbcConfig.getURL() + "?autoReconnect=true");
         connectionProperties.put("hibernate.connection.username", 
jdbcConfig.getUser());
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowErrorEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowErrorEntity.java
index f26faf7471..6075873508 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowErrorEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowErrorEntity.java
@@ -42,18 +42,18 @@ public class AiravataWorkflowErrorEntity implements 
Serializable {
     private Timestamp creationTime;
 
     @Lob
-    @Column(name = "ACTUAL_ERROR_MESSAGE")
+    @Column(name = "ACTUAL_ERROR_MESSAGE", columnDefinition = "text")
     private String actualErrorMessage;
 
     @Lob
-    @Column(name = "USER_FRIENDLY_MESSAGE")
+    @Column(name = "USER_FRIENDLY_MESSAGE", columnDefinition = "text")
     private String userFriendlyMessage;
 
     @Column(name = "TRANSIENT_OR_PERSISTENT")
     private boolean transientOrPersistent;
 
     @Lob
-    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST")
+    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST", columnDefinition = "text")
     private String rootCauseErrorIdList;
 
     @ManyToOne(targetEntity = AiravataWorkflowEntity.class, cascade = 
CascadeType.ALL, fetch = FetchType.LAZY)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationErrorEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationErrorEntity.java
index 9f94516baa..3fb368095f 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationErrorEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationErrorEntity.java
@@ -42,18 +42,18 @@ public class ApplicationErrorEntity implements Serializable 
{
     private Timestamp creationTime;
 
     @Lob
-    @Column(name = "ACTUAL_ERROR_MESSAGE")
+    @Column(name = "ACTUAL_ERROR_MESSAGE", columnDefinition = "text")
     private String actualErrorMessage;
 
     @Lob
-    @Column(name = "USER_FRIENDLY_MESSAGE")
+    @Column(name = "USER_FRIENDLY_MESSAGE", columnDefinition = "text")
     private String userFriendlyMessage;
 
     @Column(name = "TRANSIENT_OR_PERSISTENT")
     private boolean transientOrPersistent;
 
     @Lob
-    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST")
+    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST", columnDefinition = "text")
     private String rootCauseErrorIdList;
 
     @ManyToOne(targetEntity = WorkflowApplicationEntity.class, cascade = 
CascadeType.ALL, fetch = FetchType.LAZY)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerErrorEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerErrorEntity.java
index 4b9318554e..8041855b64 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerErrorEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerErrorEntity.java
@@ -42,18 +42,18 @@ public class HandlerErrorEntity implements Serializable {
     private Timestamp creationTime;
 
     @Lob
-    @Column(name = "ACTUAL_ERROR_MESSAGE")
+    @Column(name = "ACTUAL_ERROR_MESSAGE", columnDefinition = "text")
     private String actualErrorMessage;
 
     @Lob
-    @Column(name = "USER_FRIENDLY_MESSAGE")
+    @Column(name = "USER_FRIENDLY_MESSAGE", columnDefinition = "text")
     private String userFriendlyMessage;
 
     @Column(name = "TRANSIENT_OR_PERSISTENT")
     private boolean transientOrPersistent;
 
     @Lob
-    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST")
+    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST", columnDefinition = "text")
     private String rootCauseErrorIdList;
 
     @ManyToOne(targetEntity = WorkflowHandlerEntity.class, cascade = 
CascadeType.ALL, fetch = FetchType.LAZY)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerInputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerInputEntity.java
index f4c12f2251..06328c3c24 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerInputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerInputEntity.java
@@ -50,10 +50,10 @@ public class HandlerInputEntity implements Serializable {
     @Column(name = "APPLICATION_ARGUMENT")
     private String applicationArgument;
 
-    @Column(name = "STANDARD_INPUT")
+    @Column(name = "STANDARD_INPUT", columnDefinition = "smallint")
     private boolean standardInput;
 
-    @Column(name = "USER_FRIENDLY_DESCRIPTION")
+    @Column(name = "USER_FRIENDLY_DESCRIPTION", columnDefinition = "text")
     private String userFriendlyDescription;
 
     @Column(name = "METADATA", length = 4096)
@@ -62,19 +62,19 @@ public class HandlerInputEntity implements Serializable {
     @Column(name = "INPUT_ORDER")
     private int inputOrder;
 
-    @Column(name = "IS_REQUIRED")
+    @Column(name = "IS_REQUIRED", columnDefinition = "smallint")
     private boolean isRequired;
 
     @Column(name = "REQUIRED_TO_ADDED_TO_COMMAND_LINE")
     private boolean requiredToAddedToCommandLine;
 
-    @Column(name = "DATA_STAGED")
+    @Column(name = "DATA_STAGED", columnDefinition = "smallint")
     private boolean dataStaged;
 
     @Column(name = "STORAGE_RESOURCE_ID")
     private String storageResourceId;
 
-    @Column(name = "IS_READ_ONLY")
+    @Column(name = "IS_READ_ONLY", columnDefinition = "smallint")
     private boolean isReadOnly;
 
     @ManyToOne(targetEntity = WorkflowHandlerEntity.class, cascade = 
CascadeType.ALL, fetch = FetchType.LAZY)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerOutputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerOutputEntity.java
index 1d97d78f4c..dc0140b293 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerOutputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerOutputEntity.java
@@ -50,13 +50,13 @@ public class HandlerOutputEntity implements Serializable {
     @Column(name = "APPLICATION_ARGUMENT")
     private String applicationArgument;
 
-    @Column(name = "IS_REQUIRED")
+    @Column(name = "IS_REQUIRED", columnDefinition = "smallint")
     private boolean isRequired;
 
     @Column(name = "REQUIRED_TO_ADDED_TO_COMMAND_LINE")
     private boolean requiredToAddedToCommandLine;
 
-    @Column(name = "DATA_MOVEMENT")
+    @Column(name = "DATA_MOVEMENT", columnDefinition = "smallint")
     private boolean dataMovement;
 
     @Column(name = "LOCATION")
@@ -65,7 +65,7 @@ public class HandlerOutputEntity implements Serializable {
     @Column(name = "SEARCH_QUERY")
     private String searchQuery;
 
-    @Column(name = "OUTPUT_STREAMING")
+    @Column(name = "OUTPUT_STREAMING", columnDefinition = "tinyint")
     private boolean outputStreaming;
 
     @Column(name = "STORAGE_RESOURCE_ID")
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 422b8f3091..709d1a3916 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
@@ -46,7 +46,7 @@ public class ApplicationInputEntity implements Serializable {
        @Column(name = "APP_ARGUMENT")
        private String applicationArgument;
 
-       @Column(name = "DATA_STAGED")
+       @Column(name = "DATA_STAGED", columnDefinition = "smallint")
        private boolean dataStaged;
 
        @Column(name = "DATA_TYPE")
@@ -56,26 +56,26 @@ public class ApplicationInputEntity implements Serializable 
{
        @Column(name = "INPUT_ORDER")
        private int inputOrder;
 
-       @Column(name = "INPUT_VALUE")
+       @Column(name = "INPUT_VALUE", columnDefinition = "text")
        private String value;
 
-       @Column(name = "IS_REQUIRED")
+       @Column(name = "IS_REQUIRED", columnDefinition = "smallint")
        private boolean isRequired;
 
        @Column(name = "METADATA", length = 4096)
        private String metaData;
 
-       @Column(name = "REQUIRED_TO_COMMANDLINE")
+       @Column(name = "REQUIRED_TO_COMMANDLINE", columnDefinition = "smallint")
        private boolean requiredToAddedToCommandLine;
 
-       @Column(name = "STANDARD_INPUT")
+       @Column(name = "STANDARD_INPUT", columnDefinition = "smallint")
        private boolean standardInput;
 
        @Lob
-       @Column(name = "USER_FRIENDLY_DESC")
+       @Column(name = "USER_FRIENDLY_DESC", columnDefinition = "text")
        private String userFriendlyDescription;
 
-       @Column(name = "IS_READ_ONLY")
+       @Column(name = "IS_READ_ONLY", columnDefinition = "smallint")
        private boolean isReadOnly;
 
        @Column(name = "OVERRIDE_FILENAME")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInterfaceEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInterfaceEntity.java
index e7cb80b60e..50255b7fff 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInterfaceEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInterfaceEntity.java
@@ -45,7 +45,7 @@ public class ApplicationInterfaceEntity implements 
Serializable {
        @Column(name="APPLICATION_NAME")
        private String applicationName;
 
-       @Column(name="ARCHIVE_WORKING_DIRECTORY")
+       @Column(name="ARCHIVE_WORKING_DIRECTORY", columnDefinition = "smallint")
        private boolean archiveWorkingDirectory;
 
        @Column(name="CREATION_TIME", nullable = false, updatable = false)
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 1b85b8ba5c..41924b2b44 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
@@ -45,7 +45,7 @@ public class ApplicationOutputEntity implements Serializable {
     @Column(name = "APP_ARGUMENT")
     private String applicationArgument;
 
-    @Column(name = "DATA_MOVEMENT")
+    @Column(name = "DATA_MOVEMENT", columnDefinition = "smallint")
     private boolean dataMovement;
 
     @Column(name = "DATA_NAME_LOCATION")
@@ -55,16 +55,16 @@ public class ApplicationOutputEntity implements 
Serializable {
     @Enumerated(EnumType.STRING)
     private DataType type;
 
-    @Column(name = "IS_REQUIRED")
+    @Column(name = "IS_REQUIRED", columnDefinition = "smallint")
     private boolean isRequired;
 
-    @Column(name = "OUTPUT_STREAMING")
+    @Column(name = "OUTPUT_STREAMING", columnDefinition = "smallint")
     private boolean outputStreaming;
 
     @Column(name = "OUTPUT_VALUE")
     private String value;
 
-    @Column(name = "REQUIRED_TO_COMMANDLINE")
+    @Column(name = "REQUIRED_TO_COMMANDLINE", columnDefinition = "smallint")
     private boolean requiredToAddedToCommandLine;
 
     @Column(name = "SEARCH_QUERY")
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 a71db03771..6a4b55ce35 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
@@ -56,7 +56,7 @@ public class BatchQueueResourcePolicyEntity implements 
Serializable {
     private Integer maxAllowedWalltime;
 
     @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = 
CascadeType.ALL)
-    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, 
updatable = false)
+    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", insertable = false, 
nullable = false, updatable = false)
     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 714fdc5667..3ac496244d 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
@@ -52,7 +52,7 @@ public class ComputeResourcePolicyEntity implements 
Serializable {
     private List<String> allowedBatchQueues;
 
     @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = 
CascadeType.ALL)
-    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, 
updatable = false)
+    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", insertable = false, 
nullable = false, updatable = false)
     private GroupResourceProfileEntity groupResourceProfile;
 
     public ComputeResourcePolicyEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePreferenceEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePreferenceEntity.java
index 484ea3be27..c855437c51 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePreferenceEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePreferenceEntity.java
@@ -33,7 +33,7 @@ import java.util.List;
  * The persistent class for the compute_resource_preference database table.
  */
 @Entity
-@Table(name = "COMPUTE_RESOURCE_PREFERENCE")
+@Table(name = "COMPUTE_RESOURCE_PREFERENCE", catalog = "app_catalog")
 @IdClass(ComputeResourcePreferencePK.class)
 public class ComputeResourcePreferenceEntity implements Serializable {
     private static final long serialVersionUID = 1L;
@@ -52,7 +52,7 @@ public class ComputeResourcePreferenceEntity implements 
Serializable {
     @Column(name = "LOGIN_USERNAME")
     private String loginUserName;
 
-    @Column(name = "OVERRIDE_BY_AIRAVATA")
+    @Column(name = "OVERRIDE_BY_AIRAVATA", columnDefinition = "smallint")
     private boolean overridebyAiravata;
 
     @Column(name = "PREFERED_BATCH_QUEUE")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayProfileEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayProfileEntity.java
index 7bde137074..4835b04b59 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayProfileEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayProfileEntity.java
@@ -30,7 +30,7 @@ import java.util.List;
  * The persistent class for the gateway_profile database table.
  */
 @Entity
-@Table(name = "GATEWAY_PROFILE")
+@Table(name = "GATEWAY_PROFILE", catalog = "app_catalog")
 public class GatewayProfileEntity implements Serializable {
     private static final long serialVersionUID = 1L;
 
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 696a3e7df3..6632bc5f95 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
@@ -63,7 +63,7 @@ public class GroupComputeResourcePrefEntity implements 
Serializable {
     @Column(name = "LOGIN_USERNAME")
     private String loginUserName;
 
-    @Column(name = "OVERRIDE_BY_AIRAVATA")
+    @Column(name = "OVERRIDE_BY_AIRAVATA", columnDefinition = "smallint")
     private short overridebyAiravata;
 
     @Column(name = "PREFERED_BATCH_QUEUE")
@@ -103,7 +103,7 @@ public class GroupComputeResourcePrefEntity implements 
Serializable {
     private List<ComputeResourceReservationEntity> reservations;
 
     @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = 
CascadeType.ALL)
-    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, 
updatable = false)
+    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", insertable = false, 
nullable = false, updatable = false)
     private  GroupResourceProfileEntity groupResourceProfile;
 
     public GroupComputeResourcePrefEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobManagerCommandEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobManagerCommandEntity.java
index 40c86e60a6..8940d83919 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobManagerCommandEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobManagerCommandEntity.java
@@ -47,7 +47,7 @@ public class JobManagerCommandEntity implements Serializable {
     private String command;
 
     @ManyToOne(cascade= CascadeType.MERGE)
-    @JoinColumn(name = "RESOURCE_JOB_MANAGER_ID")
+    @JoinColumn(name = "RESOURCE_JOB_MANAGER_ID", insertable = false, 
updatable = false, nullable = false)
     private ResourceJobManagerEntity resourceJobManager;
 
     public JobManagerCommandEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalSubmissionEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalSubmissionEntity.java
index a94a305405..7b1570520f 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalSubmissionEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalSubmissionEntity.java
@@ -52,7 +52,7 @@ public class LocalSubmissionEntity implements Serializable {
     private SecurityProtocol securityProtocol;
 
     @ManyToOne(cascade= CascadeType.MERGE)
-    @JoinColumn(name = "RESOURCE_JOB_MANAGER_ID")
+    @JoinColumn(name = "RESOURCE_JOB_MANAGER_ID", insertable = false, 
updatable = false, nullable = false)
     private ResourceJobManagerEntity resourceJobManager;
 
     public LocalSubmissionEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParallelismCommandEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParallelismCommandEntity.java
index 1fdcff5c2b..993e7c798b 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParallelismCommandEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParallelismCommandEntity.java
@@ -47,7 +47,7 @@ public class ParallelismCommandEntity implements Serializable 
{
     private String command;
 
     @ManyToOne(cascade= CascadeType.MERGE)
-    @JoinColumn(name = "RESOURCE_JOB_MANAGER_ID")
+    @JoinColumn(name = "RESOURCE_JOB_MANAGER_ID", insertable = false, 
updatable = false, nullable = false)
     private ResourceJobManagerEntity resourceJobManager;
 
     public ParallelismCommandEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorEntity.java
index 4668b84657..e49521d88a 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorEntity.java
@@ -47,15 +47,15 @@ public class ParserConnectorEntity implements Serializable {
     private List<ParserConnectorInputEntity> connectorInputs;
 
     @ManyToOne(targetEntity = ParserEntity.class, cascade = CascadeType.MERGE)
-    @JoinColumn(name = "PARENT_PARSER_ID")
+    @JoinColumn(name = "PARENT_PARSER_ID", insertable = false, updatable = 
false, nullable = false)
     private ParserEntity parentParser;
 
     @ManyToOne(targetEntity = ParserEntity.class, cascade = CascadeType.MERGE)
-    @JoinColumn(name = "CHILD_PARSER_ID")
+    @JoinColumn(name = "CHILD_PARSER_ID", insertable = false, updatable = 
false, nullable = false)
     private ParserEntity childParser;
 
     @ManyToOne(targetEntity = ParsingTemplateEntity.class, cascade = 
CascadeType.MERGE)
-    @JoinColumn(name = "PARSING_TEMPLATE_ID")
+    @JoinColumn(name = "PARSING_TEMPLATE_ID", insertable = false, updatable = 
false, nullable = false)
     private ParsingTemplateEntity parsingTemplate;
 
     public String getId() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorInputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorInputEntity.java
index ac559e06e5..3e4c89cc1c 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorInputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorInputEntity.java
@@ -45,15 +45,15 @@ public class ParserConnectorInputEntity implements 
Serializable {
     private String parserConnectorId;
 
     @ManyToOne(targetEntity = ParserInputEntity.class, cascade = 
CascadeType.MERGE)
-    @JoinColumn(name = "PARSER_INPUT_ID")
+    @JoinColumn(name = "PARSER_INPUT_ID", insertable = false, updatable = 
false, nullable = false)
     private ParserInputEntity input;
 
     @ManyToOne(targetEntity = ParserOutputEntity.class, cascade = 
CascadeType.MERGE)
-    @JoinColumn(name = "PARSER_OUTPUT_ID")
+    @JoinColumn(name = "PARSER_OUTPUT_ID", insertable = false, updatable = 
false, nullable = false)
     private ParserOutputEntity output;
 
     @ManyToOne(targetEntity = ParserConnectorEntity.class, cascade = 
CascadeType.MERGE)
-    @JoinColumn(name = "PARSER_CONNECTOR_ID")
+    @JoinColumn(name = "PARSER_CONNECTOR_ID", insertable = false, updatable = 
false, nullable = false)
     private ParserConnectorEntity parserConnector;
 
     public String getId() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInputEntity.java
index 8c78259d50..22ed5f051a 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInputEntity.java
@@ -42,7 +42,7 @@ public class ParserInputEntity implements Serializable {
     private String parserId;
 
     @ManyToOne(targetEntity = ParserEntity.class, cascade = CascadeType.MERGE)
-    @JoinColumn(name = "PARSER_ID")
+    @JoinColumn(name = "PARSER_ID", insertable = false, updatable = false, 
nullable = false)
     private ParserEntity parser;
 
     @Column(name = "INPUT_TYPE")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserOutputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserOutputEntity.java
index 6142db0758..e34fe408d4 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserOutputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserOutputEntity.java
@@ -42,7 +42,7 @@ public class ParserOutputEntity implements Serializable {
     private String parserId;
 
     @ManyToOne(targetEntity = ParserEntity.class, cascade = CascadeType.MERGE)
-    @JoinColumn(name = "PARSER_ID")
+    @JoinColumn(name = "PARSER_ID", insertable = false, updatable = false, 
nullable = false)
     private ParserEntity parser;
 
     @Column(name = "OUTPUT_TYPE")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateInputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateInputEntity.java
index 8bacbb089e..341e435553 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateInputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateInputEntity.java
@@ -45,11 +45,11 @@ public class ParsingTemplateInputEntity implements 
Serializable {
     private String parsingTemplateId;
 
     @ManyToOne(targetEntity = ParserInputEntity.class, cascade = 
CascadeType.MERGE)
-    @JoinColumn(name = "TARGET_PARSER_INPUT_ID")
+    @JoinColumn(name = "TARGET_PARSER_INPUT_ID", insertable = false, updatable 
= false, nullable = false)
     private ParserInputEntity input;
 
     @ManyToOne(targetEntity = ParsingTemplateEntity.class, cascade = 
CascadeType.MERGE)
-    @JoinColumn(name = "PARSING_TEMPLATE_ID")
+    @JoinColumn(name = "PARSING_TEMPLATE_ID", insertable = false, updatable = 
false, nullable = false)
     private ParsingTemplateEntity parsingTemplate;
 
     public String getId() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SSHAccountProvisionerConfiguration.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SSHAccountProvisionerConfiguration.java
index 7f6ce23c60..f6323ddcd1 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SSHAccountProvisionerConfiguration.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SSHAccountProvisionerConfiguration.java
@@ -27,7 +27,7 @@ import jakarta.persistence.*;
  *
  */
 @Entity
-@Table(name = "SSH_ACCOUNT_PROVISIONER_CONFIG")
+@Table(name = "SSH_ACCOUNT_PROVISIONER_CONFIG", catalog = "app_catalog")
 @IdClass(SSHAccountProvisionerConfigurationPK.class)
 public class SSHAccountProvisionerConfiguration {
     @Id
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SshJobSubmissionEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SshJobSubmissionEntity.java
index 6839fd1034..2f7a554b4e 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SshJobSubmissionEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SshJobSubmissionEntity.java
@@ -42,7 +42,7 @@ public class SshJobSubmissionEntity implements Serializable {
        private String jobSubmissionInterfaceId;
 
        @ManyToOne(cascade= CascadeType.MERGE)
-       @JoinColumn(name = "RESOURCE_JOB_MANAGER_ID", nullable = false, 
updatable = false)
+       @JoinColumn(name = "RESOURCE_JOB_MANAGER_ID", insertable = false, 
nullable = false, updatable = false)
        private ResourceJobManagerEntity resourceJobManager;
 
        @Column(name="ALTERNATIVE_SSH_HOSTNAME")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StoragePreferenceEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StoragePreferenceEntity.java
index 1bbab9d984..65062a5dd1 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StoragePreferenceEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StoragePreferenceEntity.java
@@ -27,7 +27,7 @@ import java.io.Serializable;
  * The persistent class for the storage_preference database table.
  */
 @Entity
-@Table(name = "STORAGE_PREFERENCE")
+@Table(name = "STORAGE_PREFERENCE", catalog = "app_catalog")
 @IdClass(StoragePreferencePK.class)
 public class StoragePreferenceEntity implements Serializable {
     private static final long serialVersionUID = 1L;
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageResourceEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageResourceEntity.java
index 2c790d8082..f517b37b21 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageResourceEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageResourceEntity.java
@@ -43,7 +43,7 @@ public class StorageResourceEntity implements Serializable {
     @Column(name = "DESCRIPTION")
     private String storageResourceDescription;
 
-    @Column(name = "ENABLED")
+    @Column(name = "ENABLED", columnDefinition = "smallint")
     private boolean enabled;
 
     @Column(name = "HOST_NAME")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java
index ccdd8066a1..f4259ef470 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java
@@ -74,7 +74,7 @@ public class   ExperimentEntity implements Serializable {
     public boolean enableEmailNotification;
 
     @Lob
-    @Column(name = "EMAIL_ADDRESSES")
+    @Column(name = "EMAIL_ADDRESSES", columnDefinition = "text")
     public String emailAddresses;
 
     @OneToOne(targetEntity = UserConfigurationDataEntity.class, cascade = 
CascadeType.ALL,
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java
index b383b2a993..5b8c3fcf81 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java
@@ -46,18 +46,18 @@ public class ExperimentErrorEntity implements Serializable {
     private Timestamp creationTime;
 
     @Lob
-    @Column(name = "ACTUAL_ERROR_MESSAGE")
+    @Column(name = "ACTUAL_ERROR_MESSAGE", columnDefinition = "text")
     private String actualErrorMessage;
 
     @Lob
-    @Column(name = "USER_FRIENDLY_MESSAGE")
+    @Column(name = "USER_FRIENDLY_MESSAGE", columnDefinition = "text")
     private String userFriendlyMessage;
 
     @Column(name = "TRANSIENT_OR_PERSISTENT")
     private boolean transientOrPersistent;
 
     @Lob
-    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST")
+    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST", columnDefinition = "text")
     private String rootCauseErrorIdList;
 
     @ManyToOne(targetEntity = ExperimentEntity.class, cascade = 
CascadeType.ALL, fetch = FetchType.LAZY)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java
index 7e66abf593..ddfe9d93d7 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java
@@ -43,7 +43,7 @@ public class ExperimentInputEntity implements Serializable {
     private String name;
 
     @Lob
-    @Column(name = "INPUT_VALUE")
+    @Column(name = "INPUT_VALUE", columnDefinition = "text")
     private String value;
 
     @Column(name = "DATA_TYPE")
@@ -53,11 +53,11 @@ public class ExperimentInputEntity implements Serializable {
     @Column(name = "APPLICATION_ARGUMENT")
     private String applicationArgument;
 
-    @Column(name = "STANDARD_INPUT")
+    @Column(name = "STANDARD_INPUT", columnDefinition = "smallint")
     private boolean standardInput;
 
     @Lob
-    @Column(name = "USER_FRIENDLY_DESCRIPTION")
+    @Column(name = "USER_FRIENDLY_DESCRIPTION", columnDefinition = "text")
     private String userFriendlyDescription;
 
     @Column(name = "METADATA", length = 4096)
@@ -66,19 +66,19 @@ public class ExperimentInputEntity implements Serializable {
     @Column(name = "INPUT_ORDER")
     private int inputOrder;
 
-    @Column(name = "IS_REQUIRED")
+    @Column(name = "IS_REQUIRED", columnDefinition = "smallint")
     private boolean isRequired;
 
     @Column(name = "REQUIRED_TO_ADDED_TO_CMD")
     private boolean requiredToAddedToCommandLine;
 
-    @Column(name = "DATA_STAGED")
+    @Column(name = "DATA_STAGED", columnDefinition = "smallint")
     private boolean dataStaged;
 
     @Column(name = "STORAGE_RESOURCE_ID")
     private String storageResourceId;
 
-    @Column(name = "IS_READ_ONLY")
+    @Column(name = "IS_READ_ONLY", columnDefinition = "smallint")
     private boolean isReadOnly;
 
        @Column(name = "OVERRIDE_FILENAME")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java
index 051f32b229..1eb50a1e9f 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java
@@ -43,7 +43,7 @@ public class ExperimentOutputEntity implements Serializable {
     private String name;
 
     @Lob
-    @Column(name = "OUTPUT_VALUE")
+    @Column(name = "OUTPUT_VALUE", columnDefinition = "text")
     private String value;
 
     @Column(name = "DATA_TYPE")
@@ -53,13 +53,13 @@ public class ExperimentOutputEntity implements Serializable 
{
     @Column(name = "APPLICATION_ARGUMENT")
     private String applicationArgument;
 
-    @Column(name = "IS_REQUIRED")
+    @Column(name = "IS_REQUIRED", columnDefinition = "smallint")
     private boolean isRequired;
 
     @Column(name = "REQUIRED_TO_ADDED_TO_CMD")
     private boolean requiredToAddedToCommandLine;
 
-    @Column(name = "DATA_MOVEMENT")
+    @Column(name = "DATA_MOVEMENT", columnDefinition = "smallint")
     private boolean dataMovement;
 
     @Column(name = "LOCATION")
@@ -68,7 +68,7 @@ public class ExperimentOutputEntity implements Serializable {
     @Column(name = "SEARCH_QUERY")
     private String searchQuery;
 
-    @Column(name = "OUTPUT_STREAMING")
+    @Column(name = "OUTPUT_STREAMING", columnDefinition = "smallint")
     private boolean outputStreaming;
 
     @Column(name = "STORAGE_RESOURCE_ID")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java
index 01a2fb8e4f..7fd47159b0 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java
@@ -51,7 +51,7 @@ public class ExperimentStatusEntity implements Serializable {
     private Timestamp timeOfStateChange;
 
     @Lob
-    @Column(name = "REASON")
+    @Column(name = "REASON", columnDefinition = "longtext")
     private String reason;
 
     @ManyToOne(targetEntity = ExperimentEntity.class, fetch = FetchType.LAZY)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentSummaryEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentSummaryEntity.java
index ecdd53e213..28a4dcf99d 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentSummaryEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentSummaryEntity.java
@@ -26,7 +26,7 @@ import java.sql.Timestamp;
 /**
  * The class for the experiment_summary view.
  */
-@Entity
+//@Entity // @yasithdev EXPERIMENT_SUMMARY not in db. commenting to skip 
validation.
 @Table(name = "EXPERIMENT_SUMMARY")
 public class ExperimentSummaryEntity implements Serializable {
     private static final long serialVersionUID = 1L;
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayEntity.java
index a6059ff42c..42ca12e5d9 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayEntity.java
@@ -30,7 +30,7 @@ import java.sql.Timestamp;
  * The persistent class for the gateway database table.
  */
 @Entity
-@Table(name="GATEWAY")
+@Table(name = "GATEWAY", catalog = "experiment_catalog")
 public class GatewayEntity implements Serializable {
     private static final long serialVersionUID = 1L;
 
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayUsageReportingCommandEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayUsageReportingCommandEntity.java
index 51ab550969..6e7371e752 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayUsageReportingCommandEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayUsageReportingCommandEntity.java
@@ -37,7 +37,7 @@ public class GatewayUsageReportingCommandEntity implements 
Serializable {
     private String computeResourceId;
 
     @Lob
-    @Column(name = "COMMAND")
+    @Column(name = "COMMAND", columnDefinition = "longtext")
     private String command;
 
     public String getGatewayId() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java
index d22b355cae..176ccfefc3 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java
@@ -46,7 +46,7 @@ public class JobEntity implements Serializable {
     private String processId;
 
     @Lob
-    @Column(name = "JOB_DESCRIPTION")
+    @Column(name = "JOB_DESCRIPTION", columnDefinition = "longtext")
     private String jobDescription;
 
     @Column(name = "CREATION_TIME")
@@ -62,11 +62,11 @@ public class JobEntity implements Serializable {
     private String workingDir;
 
     @Lob
-    @Column(name = "STD_OUT")
+    @Column(name = "STD_OUT", columnDefinition = "longtext")
     private String stdOut;
 
     @Lob
-    @Column(name = "STD_ERR")
+    @Column(name = "STD_ERR", columnDefinition = "longtext")
     private String stdErr;
 
     @Column(name = "EXIT_CODE")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java
index 82d301b252..e6d74846ad 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java
@@ -55,7 +55,7 @@ public class JobStatusEntity implements Serializable {
     private Timestamp timeOfStateChange;
 
     @Lob
-    @Column(name = "REASON")
+    @Column(name = "REASON", columnDefinition = "longtext")
     private String reason;
 
     @ManyToOne(targetEntity = JobEntity.class, cascade = CascadeType.ALL, 
fetch = FetchType.LAZY)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java
index d7428c6fa2..90e4570958 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java
@@ -49,7 +49,7 @@ public class ProcessEntity implements Serializable {
     private Timestamp lastUpdateTime;
 
     @Lob
-    @Column(name = "PROCESS_DETAIL")
+    @Column(name = "PROCESS_DETAIL", columnDefinition = "text")
     private String processDetail;
 
     @Column(name = "APPLICATION_INTERFACE_ID")
@@ -62,7 +62,7 @@ public class ProcessEntity implements Serializable {
     private String computeResourceId;
 
     @Lob
-    @Column(name = "TASK_DAG")
+    @Column(name = "TASK_DAG", columnDefinition = "text")
     private String taskDag;
 
     @Column(name = "GATEWAY_EXECUTION_ID")
@@ -72,7 +72,7 @@ public class ProcessEntity implements Serializable {
     private boolean enableEmailNotification;
 
     @Lob
-    @Column(name = "EMAIL_ADDRESSES")
+    @Column(name = "EMAIL_ADDRESSES", columnDefinition = "text")
     private String emailAddresses;
 
     @Column(name = "STORAGE_RESOURCE_ID")
@@ -81,7 +81,7 @@ public class ProcessEntity implements Serializable {
     @Column(name = "USER_DN")
     private String userDn;
 
-    @Column(name = "GENERATE_CERT")
+    @Column(name = "GENERATE_CERT", columnDefinition = "smallint")
     private boolean generateCert;
 
     @Column(name = "EXPERIMENT_DATA_DIR", length = 512)
@@ -122,7 +122,7 @@ public class ProcessEntity implements Serializable {
     private List<TaskEntity> tasks;
 
     @ManyToOne(targetEntity = ExperimentEntity.class, fetch = FetchType.LAZY)
-    @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = 
"EXPERIMENT_ID", nullable = false, updatable = false)
+    @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = 
"EXPERIMENT_ID", insertable = false, nullable = false, updatable = false)
     private ExperimentEntity experiment;
 
     @OneToMany(targetEntity = ProcessWorkflowEntity.class, cascade = 
CascadeType.ALL,
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java
index 7fc3655019..7a1d2ad716 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java
@@ -46,18 +46,18 @@ public class ProcessErrorEntity implements Serializable {
     private Timestamp creationTime;
 
     @Lob
-    @Column(name = "ACTUAL_ERROR_MESSAGE")
+    @Column(name = "ACTUAL_ERROR_MESSAGE", columnDefinition = "text")
     private String actualErrorMessage;
 
     @Lob
-    @Column(name = "USER_FRIENDLY_MESSAGE")
+    @Column(name = "USER_FRIENDLY_MESSAGE", columnDefinition = "text")
     private String userFriendlyMessage;
 
     @Column(name = "TRANSIENT_OR_PERSISTENT")
     private boolean transientOrPersistent;
 
     @Lob
-    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST")
+    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST", columnDefinition = "text")
     private String rootCauseErrorIdList;
 
     @ManyToOne(targetEntity = ProcessEntity.class, cascade = CascadeType.ALL, 
fetch = FetchType.LAZY)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java
index c876d98862..d2f1a7ea41 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java
@@ -43,7 +43,7 @@ public class ProcessInputEntity implements Serializable {
     private String name;
 
     @Lob
-    @Column(name = "INPUT_VALUE")
+    @Column(name = "INPUT_VALUE", columnDefinition = "text")
     private String value;
 
     @Column(name = "DATA_TYPE")
@@ -53,11 +53,11 @@ public class ProcessInputEntity implements Serializable {
     @Column(name = "APPLICATION_ARGUMENT")
     private String applicationArgument;
 
-    @Column(name = "STANDARD_INPUT")
+    @Column(name = "STANDARD_INPUT", columnDefinition = "smallint")
     private boolean standardInput;
 
     @Lob
-    @Column(name = "USER_FRIENDLY_DESCRIPTION")
+    @Column(name = "USER_FRIENDLY_DESCRIPTION", columnDefinition = "text")
     private String userFriendlyDescription;
 
     @Column(name = "METADATA", length = 4096)
@@ -66,19 +66,19 @@ public class ProcessInputEntity implements Serializable {
     @Column(name = "INPUT_ORDER")
     private int inputOrder;
 
-    @Column(name = "IS_REQUIRED")
+    @Column(name = "IS_REQUIRED", columnDefinition = "smallint")
     private boolean isRequired;
 
     @Column(name = "REQUIRED_TO_ADDED_TO_CMD")
     private boolean requiredToAddedToCommandLine;
 
-    @Column(name = "DATA_STAGED")
+    @Column(name = "DATA_STAGED", columnDefinition = "smallint")
     private boolean dataStaged;
 
     @Column(name = "STORAGE_RESOURCE_ID")
     private String storageResourceId;
 
-    @Column(name = "IS_READ_ONLY")
+    @Column(name = "IS_READ_ONLY", columnDefinition = "smallint")
     private boolean isReadOnly;
 
        @Column(name = "OVERRIDE_FILENAME")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessOutputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessOutputEntity.java
index 1746a9d539..c8c7ccec33 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessOutputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessOutputEntity.java
@@ -43,7 +43,7 @@ public class ProcessOutputEntity implements Serializable {
     private String name;
 
     @Lob
-    @Column(name = "OUTPUT_VALUE")
+    @Column(name = "OUTPUT_VALUE", columnDefinition = "longtext")
     private String value;
 
     @Column(name = "DATA_TYPE")
@@ -53,13 +53,13 @@ public class ProcessOutputEntity implements Serializable {
     @Column(name = "APPLICATION_ARGUMENT")
     private String applicationArgument;
 
-    @Column(name = "IS_REQUIRED")
+    @Column(name = "IS_REQUIRED", columnDefinition = "smallint")
     private boolean isRequired;
 
     @Column(name = "REQUIRED_TO_ADDED_TO_CMD")
     private boolean requiredToAddedToCommandLine;
 
-    @Column(name = "DATA_MOVEMENT")
+    @Column(name = "DATA_MOVEMENT", columnDefinition = "smallint")
     private boolean dataMovement;
 
     @Column(name = "LOCATION")
@@ -68,7 +68,7 @@ public class ProcessOutputEntity implements Serializable {
     @Column(name = "SEARCH_QUERY")
     private String searchQuery;
 
-    @Column(name = "OUTPUT_STREAMING")
+    @Column(name = "OUTPUT_STREAMING", columnDefinition = "smallint")
     private boolean outputStreaming;
 
     @Column(name = "STORAGE_RESOURCE_ID")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessStatusEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessStatusEntity.java
index f223b654f3..b33dc6e6c8 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessStatusEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessStatusEntity.java
@@ -51,7 +51,7 @@ public class ProcessStatusEntity implements Serializable {
     private Timestamp timeOfStateChange;
 
     @Lob
-    @Column(name = "REASON")
+    @Column(name = "REASON", columnDefinition = "longtext")
     private String reason;
 
     @ManyToOne(targetEntity = ProcessEntity.class, fetch = FetchType.LAZY)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessWorkflowEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessWorkflowEntity.java
index d35c065e4e..de9f731e46 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessWorkflowEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessWorkflowEntity.java
@@ -1,12 +1,14 @@
 package org.apache.airavata.registry.core.entities.expcatalog;
 
 import jakarta.persistence.*;
+
+import java.io.Serializable;
 import java.sql.Timestamp;
 
 @Entity
 @Table(name = "PROCESS_WORKFLOW")
 @IdClass(ProcessWorkflowPK.class)
-public class ProcessWorkflowEntity {
+public class ProcessWorkflowEntity implements Serializable {
 
     @Id
     @Column(name = "PROCESS_ID")
@@ -23,7 +25,7 @@ public class ProcessWorkflowEntity {
     private String type;
 
     @ManyToOne(targetEntity = ProcessEntity.class, fetch = FetchType.LAZY)
-    @JoinColumn(name = "PROCESS_ID", referencedColumnName = "PROCESS_ID", 
nullable = false, updatable = false)
+    @JoinColumn(name = "PROCESS_ID", referencedColumnName = "PROCESS_ID", 
insertable = false, nullable = false, updatable = false)
     private ProcessEntity process;
 
     public String getProcessId() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessWorkflowPK.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessWorkflowPK.java
index fbd26e88eb..7436e560be 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessWorkflowPK.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessWorkflowPK.java
@@ -9,8 +9,10 @@ public class ProcessWorkflowPK implements Serializable {
     private String processId;
     private String workflowId;
 
-    @Id
-    @Column(name = "PROCESS_ID")
+    public ProcessWorkflowPK() {}
+
+//    @Id
+//    @Column(name = "PROCESS_ID")
     public String getProcessId() {
         return processId;
     }
@@ -19,8 +21,8 @@ public class ProcessWorkflowPK implements Serializable {
         this.processId = processId;
     }
 
-    @Id
-    @Column(name = "WORKFLOW_ID")
+//    @Id
+//    @Column(name = "WORKFLOW_ID")
     public String getWorkflowId() {
         return workflowId;
     }
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/QueueStatusEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/QueueStatusEntity.java
index f6e76921d2..4f93fe16e5 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/QueueStatusEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/QueueStatusEntity.java
@@ -43,13 +43,13 @@ public class QueueStatusEntity implements Serializable {
     private String queueName;
 
     @Id
-    @Column(name = "CREATED_TIME")
+    @Column(name = "CREATED_TIME", columnDefinition = "bigint")
     private BigInteger time;
 
     @Column(name = "QUEUE_UP")
     private boolean queueUp;
 
-    @Column(name = "RUNNING_JOBS")
+    @Column(name = "RUNNING_JOBS", columnDefinition = "int")
     private boolean runningJobs;
 
     @Column(name = "QUEUED_JOBS")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java
index ce17df8ce5..03904b0cee 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java
@@ -53,11 +53,11 @@ public class TaskEntity implements Serializable {
     private Timestamp lastUpdateTime;
 
     @Lob
-    @Column(name = "TASK_DETAIL")
+    @Column(name = "TASK_DETAIL", columnDefinition = "text")
     private String taskDetail;
 
     @Lob
-    @Column(name = "SUB_TASK_MODEL")
+    @Column(name = "SUB_TASK_MODEL", columnDefinition = "blob")
     private byte[] subTaskModel;
 
     @OneToMany(targetEntity = TaskStatusEntity.class, cascade = 
CascadeType.ALL,
@@ -74,7 +74,7 @@ public class TaskEntity implements Serializable {
     private List<JobEntity> jobs;
 
     @ManyToOne(targetEntity = ProcessEntity.class, fetch = FetchType.LAZY)
-    @JoinColumn(name = "PARENT_PROCESS_ID", referencedColumnName = 
"PROCESS_ID", nullable = false, updatable = false)
+    @JoinColumn(name = "PARENT_PROCESS_ID", referencedColumnName = 
"PROCESS_ID", insertable = false, nullable = false, updatable = false)
     private ProcessEntity process;
 
     public TaskEntity() {
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorEntity.java
index 79c8eb2631..32cd7e5d75 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorEntity.java
@@ -46,18 +46,18 @@ public class TaskErrorEntity implements Serializable {
     private Timestamp creationTime;
 
     @Lob
-    @Column(name = "ACTUAL_ERROR_MESSAGE")
+    @Column(name = "ACTUAL_ERROR_MESSAGE", columnDefinition = "text")
     private String actualErrorMessage;
 
     @Lob
-    @Column(name = "USER_FRIENDLY_MESSAGE")
+    @Column(name = "USER_FRIENDLY_MESSAGE", columnDefinition = "text")
     private String userFriendlyMessage;
 
     @Column(name = "TRANSIENT_OR_PERSISTENT")
     private boolean transientOrPersistent;
 
     @Lob
-    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST")
+    @Column(name = "ROOT_CAUSE_ERROR_ID_LIST", columnDefinition = "text")
     private String rootCauseErrorIdList;
 
     @ManyToOne(targetEntity = TaskEntity.class, cascade = CascadeType.ALL, 
fetch = FetchType.LAZY)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusEntity.java
index ba8ff2b496..4e0bb568fe 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusEntity.java
@@ -51,7 +51,7 @@ public class TaskStatusEntity implements Serializable {
     private Timestamp timeOfStateChange;
 
     @Lob
-    @Column(name = "REASON")
+    @Column(name = "REASON", columnDefinition = "longtext")
     private String reason;
 
     @ManyToOne(targetEntity = TaskEntity.class, cascade = CascadeType.ALL, 
fetch = FetchType.LAZY)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationDataEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationDataEntity.java
index 2126e99c68..629c62158a 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationDataEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationDataEntity.java
@@ -51,7 +51,7 @@ public class UserConfigurationDataEntity implements 
Serializable {
     @Column(name = "USER_DN")
     private String userDN;
 
-    @Column(name = "GENERATE_CERT")
+    @Column(name = "GENERATE_CERT", columnDefinition = "smallint")
     private boolean generateCert;
 
     @Column(name = "RESOURCE_HOST_ID")
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowEntity.java
index eb498b67d1..3f75cfec31 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowEntity.java
@@ -23,7 +23,7 @@ package 
org.apache.airavata.registry.core.entities.workflowcatalog;
 import org.apache.airavata.model.application.io.InputDataObjectType;
 import org.apache.airavata.model.application.io.OutputDataObjectType;
 
-import java.nio.ByteBuffer;
+//import java.nio.ByteBuffer;
 import java.util.List;
 import jakarta.persistence.*;
 import java.io.Serializable;
@@ -54,7 +54,7 @@ public class WorkflowEntity implements Serializable {
     private String graph;
 
     @Column(name = "IMAGE")
-    private ByteBuffer image;
+    private byte[] image;
 
     @Column(name = "UPDATE_TIME")
     private Timestamp updateTime;
@@ -123,12 +123,12 @@ public class WorkflowEntity implements Serializable {
         this.graph = graph;
     }
 
-    public ByteBuffer getImage() {
+    public byte[] getImage() {
 
         return this.image;
     }
 
-    public void setImage(ByteBuffer image) {
+    public void setImage(byte[] image) {
 
         this.image = image;
     }
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowInputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowInputEntity.java
index f7d7accef8..5777584ae5 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowInputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowInputEntity.java
@@ -43,7 +43,7 @@ public class WorkflowInputEntity implements Serializable {
     @Column(name = "APP_ARGUMENT")
     private String applicationArgument;
 
-    @Column(name = "DATA_STAGED")
+    @Column(name = "DATA_STAGED", columnDefinition = "smallint")
     private boolean dataStaged;
 
     @Column(name = "DATA_TYPE")
@@ -52,22 +52,22 @@ public class WorkflowInputEntity implements Serializable {
     @Column(name = "INPUT_ORDER")
     private int inputOrder;
 
-    @Column(name = "INPUT_VALUE")
+    @Column(name = "INPUT_VALUE", columnDefinition = "text")
     private String inputValue;
 
-    @Column(name = "IS_REQUIRED")
+    @Column(name = "IS_REQUIRED", columnDefinition = "smallint")
     private boolean isRequired;
 
     @Column(name = "METADATA")
     private String metaData;
 
-    @Column(name = "REQUIRED_TO_COMMANDLINE")
+    @Column(name = "REQUIRED_TO_COMMANDLINE", columnDefinition = "smallint")
     private boolean requiredToAddedToCommandLine;
 
-    @Column(name = "STANDARD_INPUT")
+    @Column(name = "STANDARD_INPUT", columnDefinition = "smallint")
     private boolean standardInput;
 
-    @Column(name = "USER_FRIENDLY_DESC")
+    @Column(name = "USER_FRIENDLY_DESC", columnDefinition = "text")
     private String userFriendlyDescription;
 
     @ManyToOne(targetEntity = WorkflowEntity.class, cascade = 
CascadeType.MERGE)
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowOutputEntity.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowOutputEntity.java
index a80cf9c73c..f6c3dadf04 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowOutputEntity.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/workflowcatalog/WorkflowOutputEntity.java
@@ -53,7 +53,7 @@ public class WorkflowOutputEntity implements Serializable {
        @Column(name="DATA_TYPE")
        private String type;
 
-       @Column(name="IS_REQUIRED")
+       @Column(name="IS_REQUIRED", columnDefinition = "smallint")
        private short isRequired;
 
        @Column(name="OUTPUT_STREAMING")
@@ -62,7 +62,7 @@ public class WorkflowOutputEntity implements Serializable {
        @Column(name="OUTPUT_VALUE")
        private String value;
 
-       @Column(name="REQUIRED_TO_COMMANDLINE")
+       @Column(name="REQUIRED_TO_COMMANDLINE", columnDefinition = "smallint")
        private short requiredToAddedToCommandLine;
 
        @Column(name="SEARCH_QUERY")
diff --git 
a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityEntity.java
 
b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityEntity.java
index 0b914388a4..6c764ed494 100644
--- 
a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityEntity.java
+++ 
b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityEntity.java
@@ -23,7 +23,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import jakarta.persistence.*;
-import java.nio.ByteBuffer;
+//import java.nio.ByteBuffer;
 
 @Entity
 @Table(name = "ENTITY", schema = "")
@@ -37,7 +37,7 @@ public class EntityEntity {
     private String parentEntityId;
     private String name;
     private String description;
-    private ByteBuffer binaryData;
+    private byte[] binaryData;
     private String fullText;
     private Long originalEntityCreationTime;
     private Long sharedCount;
@@ -115,12 +115,12 @@ public class EntityEntity {
     }
 
     @Lob
-    @Column(name="BINARY_DATA")
-    public ByteBuffer getBinaryData() {
+    @Column(name="BINARY_DATA", columnDefinition = "blob")
+    public byte[] getBinaryData() {
         return binaryData;
     }
 
-    public void setBinaryData(ByteBuffer binaryData) {
+    public void setBinaryData(byte[] binaryData) {
         this.binaryData = binaryData;
     }
 
diff --git 
a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserEntity.java
 
b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserEntity.java
index 903456e506..965f4155e8 100644
--- 
a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserEntity.java
+++ 
b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserEntity.java
@@ -23,7 +23,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import jakarta.persistence.*;
-import java.nio.ByteBuffer;
+//import java.nio.ByteBuffer;
 
 @Entity
 @Table(name = "SHARING_USER", schema = "") // USER is a reserved term in derby
@@ -36,7 +36,7 @@ public class UserEntity {
     private String firstName;
     private String lastName;
     private String email;
-    private ByteBuffer icon;
+    private byte[] icon;
     private Long createdTime;
     private Long updatedTime;
 
@@ -101,12 +101,12 @@ public class UserEntity {
     }
 
     @Lob
-    @Column(name = "ICON")
-    public ByteBuffer getIcon() {
+    @Column(name = "ICON", columnDefinition = "blob")
+    public byte[] getIcon() {
         return icon;
     }
 
-    public void setIcon(ByteBuffer icon) {
+    public void setIcon(byte[] icon) {
         this.icon = icon;
     }
 
diff --git a/pom.xml b/pom.xml
index e3d77825e2..2254cc78b1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -129,7 +129,7 @@
         <mysql.connector.version>8.2.0</mysql.connector.version>
         <skipTests>false</skipTests>
         <google.gson.version>2.10.1</google.gson.version>
-        <zk.version>3.9.2</zk.version>
+        <zk.version>3.9.3</zk.version>
         <amqp.client.version>4.12.0</amqp.client.version>
         <snakeyaml.version>2.2</snakeyaml.version>
         <maven.javadoc.failOnError>false</maven.javadoc.failOnError>
@@ -149,7 +149,7 @@
         <angus-activation.version>2.0.2</angus-activation.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>
+        <helix.version>1.4.0</helix.version>
         <keycloak.admin.client.version>24.0.4</keycloak.admin.client.version>
         <resteasy.version>6.2.12.Final</resteasy.version>
         <httpclient.version>4.5.14</httpclient.version>

Reply via email to