| Currently, when a hibernate.reveng.xml is provided alongside an implementation of ReverseEngineeringStrategy there are some cases in which the latter is completely ignored, making it pointless to implement some of its methods. An instance of the OverrideRepository is created, which creates an internal implementation of a ReverseEngineeringStrategy (which, I notice, has recently been renamed to RevengStrategy). Now, this implementation will pick when to call or not the user provided implementation. In the case of the methods that generate MetaAttributes for tables and columns, the RevengStrategy implementation is bypassed altogether. This means that you cannot enrich this metadata for template specifics at the same time as you provide some configuration via hibernate.reveng.xml. I believe that metadata from the XML file and the reveng strategy implementation do not need to be exclusive, since after all metadata is put in a Map and therefore many different bits of information can be provided from each side. So the solution to this, which I implemented in a PR, is to call the reverse engineering implementation, grab whatever metadata is generated there, and merge it with the one coming from the xml mapping file. |