Author: adamw
Date: 2008-08-25 05:40:59 -0400 (Mon, 25 Aug 2008)
New Revision: 131
Modified:
trunk/src/main/org/jboss/envers/configuration/metadata/VersionsMetadataGenerator.java
trunk/src/test/org/jboss/envers/test/integration/naming/OneToManyUnidirectionalNaming.java
Log:
ENVERS-26: fixing many-to-many relations
Modified:
trunk/src/main/org/jboss/envers/configuration/metadata/VersionsMetadataGenerator.java
===================================================================
---
trunk/src/main/org/jboss/envers/configuration/metadata/VersionsMetadataGenerator.java 2008-08-25
09:32:06 UTC (rev 130)
+++
trunk/src/main/org/jboss/envers/configuration/metadata/VersionsMetadataGenerator.java 2008-08-25
09:40:59 UTC (rev 131)
@@ -322,6 +322,10 @@
propertyName));
}
+ private String getMiddleEntityName(String entityName, String referencedEntityName,
ManyToOne mto) {
+ return entityName + "_" + referencedEntityName + "_" +
mto.getTable().getName();
+ }
+
@SuppressWarnings({"unchecked"})
private void addOneToManyDetached(Property property, CompositeMapperBuilder mapper,
String entityName,
EntityMappingData mappingData) {
@@ -347,7 +351,7 @@
String referencedPrefix = property.getName() + "_";
// Name of the entity that will be used to store the relation between the two
entities.
- String middleEntityName = entityName + "_" + referencedEntityName +
"_" + mto.getTable().getName();
+ String middleEntityName = getMiddleEntityName(entityName, referencedEntityName,
mto);
String versionsMiddleEntityName =
verEntCfg.getVersionsEntityName(middleEntityName);
String versionsMiddleTableName = verEntCfg.getVersionsTableName(middleEntityName,
mto.getTable().getName());
@@ -433,7 +437,7 @@
// Name of the entity that will be used to store the relation between the two
entities.
// The order is inverse, as the referenced and referencing entity names are
swapped with respect to the
// name of the entity that was created on the owning side in
<code>addOneToManyDetached</code>.
- String middleEntityName = referencedEntityName + "_" + entityName;
+ String middleEntityName = getMiddleEntityName(referencedEntityName, entityName,
mto);
String versionsMiddleEntityName =
verEntCfg.getVersionsEntityName(middleEntityName);
entitiesConfigurations.get(entityName).addManyToManyNotOwningRelation(property.getName(),
mappedBy,
Modified:
trunk/src/test/org/jboss/envers/test/integration/naming/OneToManyUnidirectionalNaming.java
===================================================================
---
trunk/src/test/org/jboss/envers/test/integration/naming/OneToManyUnidirectionalNaming.java 2008-08-25
09:32:06 UTC (rev 130)
+++
trunk/src/test/org/jboss/envers/test/integration/naming/OneToManyUnidirectionalNaming.java 2008-08-25
09:40:59 UTC (rev 131)
@@ -75,19 +75,19 @@
assert "data1".equals(rev2.getData());
}
+ private final static String MIDDLE_VERSIONS_ENTITY_NAME =
+
"org.jboss.envers.test.integration.naming.DetachedNamingTestEntity_org.jboss.envers.test.entities.StrTestEntity_UNI_NAMING_TEST_versions";
@Test
public void testTableName() {
assert "UNI_NAMING_TEST_versions".equals(
-
getCfg().getClassMapping("org.jboss.envers.test.integration.naming.DetachedNamingTestEntity_org.jboss.envers.test.entities.StrTestEntity_versions")
- .getTable().getName());
+
getCfg().getClassMapping(MIDDLE_VERSIONS_ENTITY_NAME).getTable().getName());
}
@SuppressWarnings({"unchecked"})
@Test
public void testJoinColumnName() {
Iterator<Column> columns =
-
getCfg().getClassMapping("org.jboss.envers.test.integration.naming.DetachedNamingTestEntity_org.jboss.envers.test.entities.StrTestEntity_versions")
- .getTable().getColumnIterator();
+
getCfg().getClassMapping(MIDDLE_VERSIONS_ENTITY_NAME).getTable().getColumnIterator();
boolean id1Found = false;
boolean id2Found = false;
Show replies by date