При выполнении обратного инжиниринга можно использовать пользовательскую стратегию обратного инжиниринга . Цитирование документации:
Возможно реализовать пользователя
стратегия. Такая стратегия должна реализовывать
org.hibernate.cfg.reveng.ReverseEngineeringStrategy.
Рекомендуется использовать
DelegatingReverseEngineeringStrategy
и обеспечить публичный конструктор, который
берет другой
ReverseEngineeringStrategy
как
аргумент. Это позволит вам только
реализовать соответствующие методы и
предоставить запасную стратегию. пример
пользовательской стратегии делегирования, которая
преобразует все имена столбцов, которые заканчиваются
с "PK" в свойство с именем "id".
public class ExampleStrategy extends DelegatingReverseEngineeringStrategy {
public ExampleStrategy(ReverseEngineeringStrategy delegate) {
super(delegate);
}
public String columnToPropertyName(TableIdentifier table, String column) {
if(column.endsWith("PK")) {
return "id";
} else {
return super.columnToPropertyName(table, column);
}
}
}
В вашем случае вы можете реализовать
public String tableToClassName(TableIdentifier tableIdentifier) {
return delegate==null?null:delegate.tableToClassName(tableIdentifier);
}
для "деплюрализации" классов, сгенерированных из имен таблиц (ADDRESSES
=> Address
).
Но, к сожалению, мастер обратного инжиниринга NetBeans Hibernate не предоставляет возможность выбора стратегии обратного инжиниринга, если у пользователя есть (это запланировано улучшение для NetBeans 7.0, если позволит время).
Так что если вы хотите использовать собственную стратегию, вам придется использовать Ant или Maven. В настоящее время это невозможно в NetBeans.