Examples of JDBCRelationMetaData


Examples of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData

      JDBCAbstractCMRFieldBridge[] cmrFields = entity.getCMRFields();
      for(int i = 0; i < cmrFields.length; ++i)
      {
         JDBCAbstractCMRFieldBridge cmrField = cmrFields[i];
         EntityBridge relatedEntity = cmrField.getRelatedEntity();
         JDBCRelationMetaData relationMetaData = cmrField.getMetaData().getRelationMetaData();

         if(relationMetaData.isForeignKeyMappingStyle() && (createdTables.contains(relatedEntity.getEntityName())))
         {
            createCMRIndex(((JDBCAbstractEntityBridge)relatedEntity).getDataSource(), cmrField);
         }

         // Create fk constraint
View Full Code Here

Examples of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData

   }

   private void createCMRIndex(DataSource dataSource, JDBCAbstractCMRFieldBridge field)
      throws DeploymentException
   {
      JDBCRelationMetaData rmd;
      String tableName;

      rmd = field.getMetaData().getRelationMetaData();

      if(rmd.isTableMappingStyle())
      {
         tableName = rmd.getDefaultTableName();
         createFKIndex(rmd.getLeftRelationshipRole(), dataSource, tableName);
         createFKIndex(rmd.getRightRelationshipRole(), dataSource, tableName);
      }
      else if(field.hasForeignKey())
      {
         tableName = field.getEntity().getQualifiedTableName();
         createFKIndex(field.getRelatedCMRField().getMetaData(), dataSource, tableName);
View Full Code Here

Examples of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData

         .append(" (")
         // add field declaration
         .append(SQLUtil.getCreateTableColumnsClause(fieldsArr));

      // add a pk constraint
      final JDBCRelationMetaData relationMetaData = cmrField.getMetaData().getRelationMetaData();
      if(relationMetaData.hasPrimaryKeyConstraint())
      {
         JDBCFunctionMappingMetaData pkConstraint =
            manager.getMetaData().getTypeMapping().getPkConstraintTemplate();
         if(pkConstraint == null)
         {
            throw new IllegalStateException("Primary key constraint is not allowed for this type of data store");
         }

         String name = "pk_" + relationMetaData.getDefaultTableName();
         name = SQLUtil.fixConstraintName(name, dataSource);
         String[] args = new String[]{
            name,
            SQLUtil.getColumnNamesClause(fieldsArr, new StringBuffer(100).toString(), new StringBuffer()).toString()
         };
View Full Code Here

Examples of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData

         LeftJoinCMRNode node = (LeftJoinCMRNode) onFindCMRNodes.get(i);
         JDBCCMRFieldBridge cmrField = node.cmrField;
         JDBCEntityBridge relatedEntity = cmrField.getRelatedJDBCEntity();
         String relatedAlias = aliasManager.getAlias(node.path);

         JDBCRelationMetaData relation = cmrField.getMetaData().getRelationMetaData();
         if(relation.isTableMappingStyle())
         {
            String relTableAlias = aliasManager.getRelationTableAlias(node.path);
            sb.append(" LEFT OUTER JOIN ")
               .append(cmrField.getQualifiedTableName())
               .append(' ')
View Full Code Here

Examples of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData

      // drop relation tables
      JDBCAbstractCMRFieldBridge[] cmrFields = entity.getCMRFields();
      for(int i = 0; i < cmrFields.length; ++i)
      {
         JDBCAbstractCMRFieldBridge cmrField = cmrFields[i];
         JDBCRelationMetaData relationMetaData = cmrField.getMetaData().getRelationMetaData();
         if(relationMetaData.isTableMappingStyle() && !relationMetaData.isTableDropped())
         {
            if(relationMetaData.getRemoveTable())
            {
               final boolean dropped = dropTable(relationMetaData.getDataSource(), cmrField.getQualifiedTableName());
               if(!dropped)
               {
                  success = false;
               }
               else
               {
                  relationMetaData.setTableDropped();
               }
            }
         }
      }
View Full Code Here

Examples of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData

/*      */
/*  247 */     JDBCAbstractCMRFieldBridge[] cmrFields = this.entity.getCMRFields();
/*  248 */     for (int i = 0; i < cmrFields.length; i++)
/*      */     {
/*  250 */       JDBCAbstractCMRFieldBridge cmrField = cmrFields[i];
/*  251 */       JDBCRelationMetaData relationMetaData = cmrField.getMetaData().getRelationMetaData();
/*      */
/*  254 */       EntityBridge relatedEntity = cmrField.getRelatedEntity();
/*  255 */       if ((!relationMetaData.isTableMappingStyle()) || (!createdTables.contains(relatedEntity.getEntityName())))
/*      */         continue;
/*  257 */       DataSource dataSource = relationMetaData.getDataSource();
/*      */
/*  259 */       boolean relTableExisted = SQLUtil.tableExists(cmrField.getQualifiedTableName(), this.entity.getDataSource());
/*      */
/*  261 */       if (relTableExisted)
/*      */       {
/*  263 */         if (relationMetaData.getAlterTable())
/*      */         {
/*  265 */           ArrayList oldNames = SQLUtil.getOldColumns(cmrField.getQualifiedTableName(), dataSource).getColumnNames();
/*  266 */           ArrayList newNames = new ArrayList();
/*  267 */           JDBCFieldBridge[] leftKeys = cmrField.getTableKeyFields();
/*  268 */           JDBCFieldBridge[] rightKeys = cmrField.getRelatedCMRField().getTableKeyFields();
/*  269 */           JDBCFieldBridge[] fields = new JDBCFieldBridge[leftKeys.length + rightKeys.length];
/*  270 */           System.arraycopy(leftKeys, 0, fields, 0, leftKeys.length);
/*  271 */           System.arraycopy(rightKeys, 0, fields, leftKeys.length, rightKeys.length);
/*      */
/*  274 */           boolean different = false;
/*  275 */           for (int j = 0; j < fields.length; j++)
/*      */           {
/*  277 */             JDBCFieldBridge field = fields[j];
/*      */
/*  279 */             String name = field.getJDBCType().getColumnNames()[0].toUpperCase();
/*  280 */             newNames.add(name);
/*      */
/*  282 */             if (oldNames.contains(name))
/*      */               continue;
/*  284 */             different = true;
/*  285 */             break;
/*      */           }
/*      */
/*  289 */           if (!different)
/*      */           {
/*  291 */             Iterator it = oldNames.iterator();
/*  292 */             while (it.hasNext())
/*      */             {
/*  294 */               String name = (String)(String)it.next();
/*  295 */               if (!newNames.contains(name))
/*      */               {
/*  297 */                 different = true;
/*  298 */                 break;
/*      */               }
/*      */             }
/*      */           }
/*      */
/*  303 */           if (different)
/*      */           {
/*  306 */             this.log.error("CMR table structure is incorrect for " + cmrField.getQualifiedTableName());
/*      */           }
/*      */
/*      */         }
/*      */
/*      */       }
/*      */
/*  315 */       if ((!relationMetaData.isTableMappingStyle()) || (relationMetaData.isTableCreated()))
/*      */         continue;
/*  317 */       if (relationMetaData.getCreateTable())
/*      */       {
/*  319 */         createTable(dataSource, cmrField.getQualifiedTableName(), getRelationCreateTableSQL(cmrField, dataSource));
/*      */       }
/*      */       else
/*      */       {
/*  324 */         this.log.debug("Relation table not created as requested: " + cmrField.getQualifiedTableName());
/*      */       }
/*      */
/*  327 */       createCMRIndex(dataSource, cmrField);
/*      */
/*  329 */       if (!relationMetaData.getCreateTable())
/*      */         continue;
/*  331 */       issuePostCreateSQL(dataSource, relationMetaData.getDefaultTablePostCreateCmd(), cmrField.getQualifiedTableName());
/*      */     }
/*      */   }
View Full Code Here

Examples of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData

/*      */
/*  345 */     JDBCAbstractCMRFieldBridge[] cmrFields = this.entity.getCMRFields();
/*  346 */     for (int i = 0; i < cmrFields.length; i++)
/*      */     {
/*  348 */       JDBCAbstractCMRFieldBridge cmrField = cmrFields[i];
/*  349 */       JDBCRelationMetaData relationMetaData = cmrField.getMetaData().getRelationMetaData();
/*      */
/*  352 */       EntityBridge relatedEntity = cmrField.getRelatedEntity();
/*      */
/*  357 */       if ((relationMetaData.isForeignKeyMappingStyle()) && (createdTables.contains(relatedEntity.getEntityName())))
/*      */       {
/*  359 */         createCMRIndex(((JDBCAbstractEntityBridge)relatedEntity).getDataSource(), cmrField);
/*      */       }
/*      */
/*  363 */       addForeignKeyConstraint(cmrField);
View Full Code Here

Examples of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData

/*      */   }
/*      */
/*      */   private void createCMRIndex(DataSource dataSource, JDBCAbstractCMRFieldBridge field)
/*      */     throws DeploymentException
/*      */   {
/*  937 */     JDBCRelationMetaData rmd = field.getMetaData().getRelationMetaData();
/*      */
/*  939 */     if (rmd.isTableMappingStyle())
/*      */     {
/*  941 */       String tableName = rmd.getDefaultTableName();
/*  942 */       createFKIndex(rmd.getLeftRelationshipRole(), dataSource, tableName);
/*  943 */       createFKIndex(rmd.getRightRelationshipRole(), dataSource, tableName);
/*      */     }
/*  945 */     else if (field.hasForeignKey())
/*      */     {
/*  947 */       String tableName = field.getEntity().getQualifiedTableName();
/*  948 */       createFKIndex(field.getRelatedCMRField().getMetaData(), dataSource, tableName);
View Full Code Here

Examples of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData

/* 1009 */     System.arraycopy(rightKeys, 0, fieldsArr, leftKeys.length, rightKeys.length);
/*      */
/* 1011 */     StringBuffer sql = new StringBuffer();
/* 1012 */     sql.append("CREATE TABLE ").append(cmrField.getQualifiedTableName()).append(" (").append(SQLUtil.getCreateTableColumnsClause(fieldsArr));
/*      */
/* 1018 */     JDBCRelationMetaData relationMetaData = cmrField.getMetaData().getRelationMetaData();
/* 1019 */     if (relationMetaData.hasPrimaryKeyConstraint())
/*      */     {
/* 1021 */       JDBCFunctionMappingMetaData pkConstraint = this.manager.getMetaData().getTypeMapping().getPkConstraintTemplate();
/*      */
/* 1023 */       if (pkConstraint == null)
/*      */       {
/* 1025 */         throw new IllegalStateException("Primary key constraint is not allowed for this type of data store");
/*      */       }
/*      */
/* 1028 */       String name = "pk_" + relationMetaData.getDefaultTableName();
/* 1029 */       name = SQLUtil.fixConstraintName(name, dataSource);
/* 1030 */       String[] args = { name, SQLUtil.getColumnNamesClause(fieldsArr, 100, new StringBuffer()).toString() };
/*      */
/* 1034 */       sql.append(", ");
/* 1035 */       pkConstraint.getFunctionSql(args, sql);
View Full Code Here

Examples of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData

/*  849 */       String joinAlias = this.aliasManager.getAlias(curPath + "_local");
/*      */
/*  851 */       JDBCAbstractCMRFieldBridge cmrField = (JDBCAbstractCMRFieldBridge)path.getCMRField(i);
/*  852 */       JDBCAbstractEntityBridge joinEntity = (JDBCAbstractEntityBridge)cmrField.getRelatedEntity();
/*      */
/*  854 */       JDBCRelationMetaData relation = cmrField.getMetaData().getRelationMetaData();
/*      */
/*  856 */       String join = " INNER JOIN ";
/*      */
/*  858 */       if (relation.isTableMappingStyle())
/*      */       {
/*  860 */         String relTableAlias = this.aliasManager.getRelationTableAlias(curPath + "_local");
/*  861 */         sql.append(join).append(cmrField.getQualifiedTableName()).append(' ').append(relTableAlias).append(" ON ");
/*      */
/*  866 */         SQLUtil.getRelationTableJoinClause(cmrField, leftAlias, relTableAlias, sql);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.