dopping unique indexes for StateData and StatisticalMeasurementValue - modifiers...
authorAndreas Müller <a.mueller@bgbm.org>
Wed, 5 Jan 2011 20:32:20 +0000 (20:32 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Wed, 5 Jan 2011 20:32:20 +0000 (20:32 +0000)
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/StateData.java
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/StatisticalMeasurementValue.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v30_31/SchemaUpdater_30_31.java

index c824312a201574050d17f0dbedffd300287c824c..4f0ba1f663a57007b7ff96019e5dbdda2e11d98b 100644 (file)
@@ -80,7 +80,7 @@ public class StateData extends VersionableEntity implements IModifiable, IMultiL
        @XmlElement(name = "Modifier")\r
        @ManyToMany(fetch = FetchType.LAZY)\r
        @Cascade({CascadeType.SAVE_UPDATE, CascadeType.MERGE})\r
-       @NotNull // avoids creating a UNIQUE key for this field\r
+//     @NotNull // avoids creating a UNIQUE key for this field -> not needed for ManyToMany\r
        private Set<Modifier> modifiers = new HashSet<Modifier>();\r
        \r
        @XmlElement(name = "ModifyingText")\r
index e71cde439593fdb584c9c995ef614902112e2597..007095aafb2c09dc4505798c535dae5b8883d7f3 100644 (file)
@@ -15,6 +15,7 @@ import java.util.Set;
 \r
 import javax.persistence.Entity;\r
 import javax.persistence.FetchType;\r
+import javax.persistence.ManyToMany;\r
 import javax.persistence.ManyToOne;\r
 import javax.persistence.OneToMany;\r
 import javax.validation.constraints.NotNull;\r
@@ -64,8 +65,8 @@ public class StatisticalMeasurementValue extends VersionableEntity implements IM
        @XmlElement(name = "Modifier")\r
        @XmlIDREF\r
        @XmlSchemaType(name = "IDREF")\r
-       @OneToMany(fetch = FetchType.LAZY)\r
-       @NotNull // avoids creating a UNIQUE key for this field\r
+       @ManyToMany(fetch = FetchType.LAZY)\r
+//     @NotNull // avoids creating a UNIQUE key for this field -> not needed for ManyToMany\r
        private Set<Modifier> modifiers = new HashSet<Modifier>();\r
        \r
        @XmlElement(name = "StatisticalMeasureType")\r
index 65b7a2c312b49b8c4ac15a16c8269b7818f77528..499ba37a91bb5f496bcb2ef5a6430684c618a661 100644 (file)
@@ -68,7 +68,17 @@ public class SchemaUpdater_30_31 extends SchemaUpdaterBase {
                String stepName;
                
                //drop unique index for DefinedTermBase_media.media_id
-               UniqueIndexDropper step = UniqueIndexDropper.NewInstance("DefinedTermBase_media", "media_id", ! INCLUDE_AUDIT);
+               ISchemaUpdaterStep step = UniqueIndexDropper.NewInstance("DefinedTermBase_media", "media_id", ! INCLUDE_AUDIT);
+               stepList.add(step);
+
+               //drop unique index for StateData_DefinedTermBase.modifier_id
+               //this was part of schema version 2.5 but an updater was never written
+               step = UniqueIndexDropper.NewInstance("StateData_definedtermbase", "modifiers_id", ! INCLUDE_AUDIT);
+               stepList.add(step);
+
+               //drop unique index for StateData_DefinedTermBase.modifier_id
+               //this was part of schema version 2.5 but an updater was never written
+               step = UniqueIndexDropper.NewInstance("StatisticalMeasurementValue_definedtermbase", "modifiers_id", ! INCLUDE_AUDIT);
                stepList.add(step);
                
                return stepList;