I have defined a ReverseEngineeringStrategy but somehow it is being ignored. When I run hbm2hbmxml with the ant ask below, I get:
"Using non-delegating strategy, thus packagename and revengfile will be ignored."Anyone know why this is?
java 1.6/hibernate tools 3.2.4
My ant task is defined as follows
Code:
<target name="schemaexport">
<hibernatetool destdir="${build.dir}/generated">
<jdbcconfiguration propertyfile="hibernate.properties"
packagename="package.name"
reversestrategy="com.asm.persist.ReverseEngStrategy"
detectmanytomany="true"
>
<fileset dir="${src.dir}">
<include name="**/*.hbm.xml"/>
<exclude name="**/*Test.hbm.xml"/>
</fileset>
</jdbcconfiguration>
<hbm2hbmxml destdir="${build.dir}/src" />
</hibernatetool>
</target>
public class ReverseEngStrategy extends DefaultReverseEngineeringStrategy {
private HashSet excludeTables;
// private static final String SCHEMA = "PRODDTA";
private static final String SCHEMA = "CRPDTA";
static {
System.out.println("Am I really doing this!");
}
public ReverseEngStrategy() {
// new ReverseEngineeringSettings()
// super.setSettings();
// get
}
public void init() {
}
@Override
public boolean excludeTable(TableIdentifier tableIdentifier) {
System.out.println("hallo");
if (excludeTables == null) {
excludeTables = new HashSet();
excludeTables.add("F5541021");
System.out.println("Cool we are running");
}
if (!tableIdentifier.getSchema().toUpperCase().equals(SCHEMA) ||
excludeTables.contains(tableIdentifier.getName())) {
return false;
} else {
return true;
}
}
}