/**
  * カラムを処理します。
  *
  * @param entityMeta エンティティメタデータ
  * @param propertyMeta プロパティメタデータ
  * @param foreignKeyDesc 外部キー記述
  */
 protected void doColumn(
     EntityMeta entityMeta, PropertyMeta propertyMeta, ForeignKeyDesc foreignKeyDesc) {
   for (JoinColumnMeta jcm : propertyMeta.getJoinColumnMetaList()) {
     foreignKeyDesc.addColumnName(jcm.getName());
     foreignKeyDesc.addReferencedColumnName(jcm.getReferencedColumnName());
   }
 }
 /**
  * 参照動作を処理します。
  *
  * @param entityMeta エンティティメタデータ
  * @param propertyMeta プロパティメタデータ
  * @param foreignKeyDesc 外部キー記述
  */
 protected void doReferetialAction(
     EntityMeta entityMeta, PropertyMeta propertyMeta, ForeignKeyDesc foreignKeyDesc) {
   ReferentialConstraint referentialConstraint = getReferentialConstraint(propertyMeta);
   if (dialect.supportsReferentialDeleteRule()) {
     foreignKeyDesc.setOnDelete(referentialConstraint.onDelete());
   }
   if (dialect.supportsReferentialUpdateRule()) {
     foreignKeyDesc.setOnUpdate(referentialConstraint.onUpdate());
   }
 }
 /**
  * テーブルを処理します。
  *
  * @param entityMeta エンティティメタデータ
  * @param propertyMeta プロパティメタデータ
  * @param foreignKeyDesc 外部キー記述
  */
 protected void doTable(
     EntityMeta entityMeta, PropertyMeta propertyMeta, ForeignKeyDesc foreignKeyDesc) {
   EntityMeta inverseEntityMeta =
       entityMetaFactory.getEntityMeta(propertyMeta.getRelationshipClass());
   TableMeta tableMeta = inverseEntityMeta.getTableMeta();
   foreignKeyDesc.setReferencedCatalogName(tableMeta.getCatalog());
   foreignKeyDesc.setReferencedSchemaName(tableMeta.getSchema());
   foreignKeyDesc.setReferencedTableName(tableMeta.getName());
   foreignKeyDesc.setReferencedFullTableName(tableMeta.getFullName());
 }