/** * 識別子生成用のテーブル記述を処理します。 * * @param entityMeta エンティティメタデータ * @param tableDesc テーブル記述 * @param table テーブル */ protected void doIdTableDesc(EntityMeta entityMeta, TableDesc tableDesc, Table table) { for (PropertyMeta propertyMeta : entityMeta.getIdPropertyMetaList()) { TableDesc idTableDesc = idTableDescFactory.getTableDesc(entityMeta, propertyMeta); if (idTableDesc == null) { continue; } tableDesc.addIdTableDesc(idTableDesc); String fullName = idTableDesc.getFullName().toLowerCase(); TableDesc cache = tableDescMap.get(fullName); if (cache == null) { tableDescMap.put(fullName, idTableDesc); } else { cache.setCatalogName(idTableDesc.getCatalogName()); cache.setSchemaName(idTableDesc.getSchemaName()); cache.setName(idTableDesc.getName()); cache.setPrimaryKeyDesc(idTableDesc.getPrimaryKeyDesc()); for (ColumnDesc columnDesc : idTableDesc.getColumnDescList()) { cache.addColumnDesc(columnDesc); } for (UniqueKeyDesc uniqueKeyDesc : idTableDesc.getUniqueKeyDescList()) { cache.addUniqueKeyDesc(uniqueKeyDesc); } } } }
/** * 主キー記述を処理します。 * * @param entityMeta エンティティメタデータ * @param propertyMeta プロパティメタデータ * @param tableDesc テーブル記述 * @param generator テーブルジェネレータ */ protected void doPrimaryKeyColumn( EntityMeta entityMeta, TableDesc tableDesc, TableGenerator generator) { String pkColumnName = generator.pkColumnName(); if (StringUtil.isEmpty(pkColumnName)) { pkColumnName = TableIdGenerator.DEFAULT_PK_COLUMN_NAME; } PrimaryKeyDesc primaryKeyDesc = new PrimaryKeyDesc(); primaryKeyDesc.addColumnName(pkColumnName); tableDesc.setPrimaryKeyDesc(primaryKeyDesc); ColumnDesc columnDesc = new ColumnDesc(); columnDesc.setName(pkColumnName); SqlType sqlType = dialect.getSqlType(Types.VARCHAR); columnDesc.setSqlType(sqlType); Column column = AnnotationUtil.getDefaultColumn(); columnDesc.setDefinition(sqlType.getDataType(column.length(), 0, 0, false)); tableDesc.addColumnDesc(columnDesc); }
/** * 主キー記述を処理します。 * * @param entityMeta エンティティメタデータ * @param tableDesc テーブル記述 * @param table テーブル */ protected void doPrimaryKeyDesc(EntityMeta entityMeta, TableDesc tableDesc, Table table) { PrimaryKeyDesc primaryKeyDesc = primaryKeyDescFactory.getPrimaryKeyDesc(entityMeta); if (primaryKeyDesc != null) { tableDesc.setPrimaryKeyDesc(primaryKeyDesc); } }