private Document generateDefaultRevisionInfoXmlMapping() { Document document = XMLHelper.getDocumentFactory().createDocument(); Element class_mapping = MetadataTools.createEntity( document, new AuditTableData( null, null, globalCfg.getDefaultSchemaName(), globalCfg.getDefaultCatalogName()), null); class_mapping.addAttribute("name", revisionInfoEntityName); class_mapping.addAttribute("table", "REVINFO"); Element idProperty = MetadataTools.addNativelyGeneratedId( class_mapping, revisionInfoIdData.getName(), revisionPropType); MetadataTools.addColumn(idProperty, "REV", null, 0, 0, null, null, null, false); Element timestampProperty = MetadataTools.addProperty( class_mapping, revisionInfoTimestampData.getName(), revisionInfoTimestampType.getName(), true, false); MetadataTools.addColumn(timestampProperty, "REVTSTMP", null, 0, 0, null, null, null, false); if (globalCfg.isTrackEntitiesChangedInRevisionEnabled()) { generateEntityNamesTrackingTableMapping( class_mapping, "modifiedEntityNames", globalCfg.getDefaultSchemaName(), globalCfg.getDefaultCatalogName(), "REVCHANGES", "REV", "ENTITYNAME", "string"); } return document; }
private Element generateRevisionInfoRelationMapping() { Document document = XMLHelper.getDocumentFactory().createDocument(); Element rev_rel_mapping = document.addElement("key-many-to-one"); rev_rel_mapping.addAttribute("type", revisionPropType); rev_rel_mapping.addAttribute("class", revisionInfoEntityName); if (revisionPropSqlType != null) { // Putting a fake name to make Hibernate happy. It will be replaced later anyway. MetadataTools.addColumn( rev_rel_mapping, "*", null, 0, 0, revisionPropSqlType, null, null, false); } return rev_rel_mapping; }