From 8e5b344c60e76e38856dbf0fc42539fea7da4dc4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Wed, 5 Jan 2011 20:32:20 +0000 Subject: [PATCH] dopping unique indexes for StateData and StatisticalMeasurementValue - modifiers (#2025) and changing OneToMany -> ManyToMany for StatisticalMeasurementValue - modifiers (#2175) --- .../etaxonomy/cdm/model/description/StateData.java | 2 +- .../description/StatisticalMeasurementValue.java | 5 +++-- .../database/update/v30_31/SchemaUpdater_30_31.java | 12 +++++++++++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/StateData.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/StateData.java index c824312a20..4f0ba1f663 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/StateData.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/StateData.java @@ -80,7 +80,7 @@ public class StateData extends VersionableEntity implements IModifiable, IMultiL @XmlElement(name = "Modifier") @ManyToMany(fetch = FetchType.LAZY) @Cascade({CascadeType.SAVE_UPDATE, CascadeType.MERGE}) - @NotNull // avoids creating a UNIQUE key for this field +// @NotNull // avoids creating a UNIQUE key for this field -> not needed for ManyToMany private Set modifiers = new HashSet(); @XmlElement(name = "ModifyingText") diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/StatisticalMeasurementValue.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/StatisticalMeasurementValue.java index e71cde4395..007095aafb 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/StatisticalMeasurementValue.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/StatisticalMeasurementValue.java @@ -15,6 +15,7 @@ import java.util.Set; import javax.persistence.Entity; import javax.persistence.FetchType; +import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.validation.constraints.NotNull; @@ -64,8 +65,8 @@ public class StatisticalMeasurementValue extends VersionableEntity implements IM @XmlElement(name = "Modifier") @XmlIDREF @XmlSchemaType(name = "IDREF") - @OneToMany(fetch = FetchType.LAZY) - @NotNull // avoids creating a UNIQUE key for this field + @ManyToMany(fetch = FetchType.LAZY) +// @NotNull // avoids creating a UNIQUE key for this field -> not needed for ManyToMany private Set modifiers = new HashSet(); @XmlElement(name = "StatisticalMeasureType") diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v30_31/SchemaUpdater_30_31.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v30_31/SchemaUpdater_30_31.java index 65b7a2c312..499ba37a91 100644 --- a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v30_31/SchemaUpdater_30_31.java +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v30_31/SchemaUpdater_30_31.java @@ -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; -- 2.34.1