Я расширил класс org.hibernate.cfg.reveng.DelegatingReverseEngineeringStrategy
для пользовательского обратного инжиниринга, использующего библиотеку инструментов hibernate и скрипт ant.После запуска ant-сценария классы генерируются как -
@Entity
@Table(name="account"
,catalog="testdb"
)
public class Account implements java.io.Serializable {
}
В вышеприведенном классе catalog
имя всегда добавляется в создаваемый класс.
Я пытаюсьудалить имя каталога с помощью класса CustomReverseEngineeringStrategy.java.Вот мой класс Java -
public class CustomReverseEngineeringStrategy extends DelegatingReverseEngineeringStrategy {
public Map<String, MetaAttribute> tableToMetaAttributes(TableIdentifier tableIdentifier){
Map<String, MetaAttribute> metaAttributes = super.tableToMetaAttributes(tableIdentifier);
if (metaAttributes == null) {
metaAttributes = new HashMap<String, MetaAttribute>();
}
String catalogName = tableIdentifier.getCatalog();
if(metaAttributes.containsKey(catalogName)){
System.out.print(catalogName);
metaAttributes.remove(catalogName);
}
return metaAttributes;
}
}
В этом tableIdentifier возвращает имя каталога.Но нет способа установить имя каталога.Также metaAttributes не содержит ключ для имени каталога.
Я хочу удалить это имя каталога в процессе генерации класса, используя класс CustomReverseEngineeringStrategy.ты можешь помочь мне с этим?