From 17f66927cb94895284e7edb19183a07672cca05e Mon Sep 17 00:00:00 2001 From: Kavoos Bojnourdi Date: Thu, 13 Aug 2015 23:26:04 +0200 Subject: [PATCH] Cleanup --- .../java/com/edf/gde/entities/AttributeGroup.java | 13 ++++++++++--- projects/GDE_App/src/GDE_DB_Init.sql | 14 ++++---------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/AttributeGroup.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/AttributeGroup.java index c62b657..47502d2 100644 --- a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/AttributeGroup.java +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/AttributeGroup.java @@ -18,6 +18,8 @@ import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; @@ -48,8 +50,13 @@ public class AttributeGroup implements Serializable { @SequenceGenerator(name = "SEQ_GEN_SEQUENCE", allocationSize = 50) @Column(name = "id") private long id; - - @OneToMany (fetch = FetchType.EAGER, orphanRemoval = true, cascade = {CascadeType.ALL}) + @OneToMany(fetch = FetchType.EAGER, orphanRemoval = true, cascade = {CascadeType.ALL}) + @JoinTable(name = "attribute_group_attribute", + joinColumns = { + @JoinColumn(name = "attributegroup_id", referencedColumnName = "id")}, + inverseJoinColumns = { + @JoinColumn(name = "attribute_id", referencedColumnName = "id", unique = true)}) + private Collection attributeCollection; public AttributeGroup() { @@ -83,7 +90,7 @@ public class AttributeGroup implements Serializable { if (attributes != null) { group.attributeCollection = new ArrayList<>(); for (AttributeTO ato : attributes) { - group.attributeCollection.add(Attribute.fromAttributeTO(em,ato)); + group.attributeCollection.add(Attribute.fromAttributeTO(em, ato)); } } return group; diff --git a/projects/GDE_App/src/GDE_DB_Init.sql b/projects/GDE_App/src/GDE_DB_Init.sql index 76ebb4c..dafe886 100644 --- a/projects/GDE_App/src/GDE_DB_Init.sql +++ b/projects/GDE_App/src/GDE_DB_Init.sql @@ -56,18 +56,12 @@ CREATE TABLE attribute ( DROP TABLE IF EXISTS attribute_group_attribute CASCADE; CREATE TABLE attribute_group_attribute ( - attributegroup_id bigint NOT NULL, - attributecollection_id bigint NOT NULL, - CONSTRAINT attribute_group_attribute_pkey PRIMARY KEY (attributegroup_id, attributecollection_id), - CONSTRAINT fk_attribute_group_attribute_attributecollection_id FOREIGN KEY (attributecollection_id) - REFERENCES attribute (id) MATCH SIMPLE - ON UPDATE NO ACTION ON DELETE NO ACTION, - CONSTRAINT fk_attribute_group_attribute_attributegroup_id FOREIGN KEY (attributegroup_id) - REFERENCES attribute_group (id) MATCH SIMPLE - ON UPDATE NO ACTION ON DELETE NO ACTION + attributegroup_id bigint REFERENCES attribute_group (id) ON UPDATE NO ACTION ON DELETE NO ACTION, + attribute_id bigint REFERENCES attribute (id) ON UPDATE NO ACTION ON DELETE NO ACTION ); +alter table attribute_group_attribute add primary key (attributegroup_id, attribute_id); create index attribute_group_attribute_idx1 on attribute_group_attribute(attributegroup_id); -create index attribute_group_attribute_idx2 on attribute_group_attribute(attributecollection_id); +create index attribute_group_attribute_idx2 on attribute_group_attribute(attribute_id); DROP TABLE IF EXISTS profile CASCADE; CREATE TABLE profile ( -- 2.39.2