MIGRATE To Oracle Step 1
diff --git a/.idea/sonarlint/issuestore/index.pb b/.idea/sonarlint/issuestore/index.pb
index 46f406e..d4fa902 100644
--- a/.idea/sonarlint/issuestore/index.pb
+++ b/.idea/sonarlint/issuestore/index.pb
@@ -2,4 +2,20 @@
 
 mgfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/DmzExportSchedulerConfig.java,b\2\b294790a0abf6e6345fdbe7b70e1480d994e4db9
 d
-4gfsBackendService/src/main/resources/application.yml,3\4\34d646736ecacfcbb8cb9909b3cdaa5e74530360
\ No newline at end of file
+4gfsBackendService/src/main/resources/application.yml,3\4\34d646736ecacfcbb8cb9909b3cdaa5e74530360
+z
+JgfsBackendService/src/main/resources/db/migration/V0_46__CREATE_GFI_DB.sql,1\2\12d83cf53667985296308217bb938346ec30dfd0
+œ
+laddressImport/src/test/java/org/eclipse/openk/gridfailureinformation/importadresses/jobs/JobManagerTest.java,3\5\35804fe8dc95851adec9d3eeabdd78ca650f3ac6
+V
+&gfsBackendService/Dockerfile_DevServer,f\5\f5b5d8322602fcae4be1013578986089a5e5acd0
+I
+gfsBackendService/pom.xml,b\8\b8d294268e747529c4155fac3bab551c65aeddba
+^
+.gfsBackendService/Dockerfile_DevServerUnsecure,7\d\7d1f11155aeaeedb6ca734ebe7ed60be35052252
+y
+IgfsBackendService/src/main/resources/db/migration/V0_1__CREATE_GFI_DB.sql,a\f\af976f53a5adee972a90cc8ade824991fc4ff366
+z
+JgfsBackendService/src/main/resources/db/migration/V0_47__CREATE_GFI_DB.sql,c\5\c52c239c5ea0f0e00ccafc87512d0617b22040de
+S
+#gfsBackendService/Dockerfile_Branch,f\9\f9b95f78c7148f2ae671235c95fa2726f710ce20
\ No newline at end of file
diff --git a/addressImport/src/main/java/org/eclipse/openk/gridfailureinformation/importadresses/model/TblAddress.java b/addressImport/src/main/java/org/eclipse/openk/gridfailureinformation/importadresses/model/TblAddress.java
index b52a85c..0499eb2 100644
--- a/addressImport/src/main/java/org/eclipse/openk/gridfailureinformation/importadresses/model/TblAddress.java
+++ b/addressImport/src/main/java/org/eclipse/openk/gridfailureinformation/importadresses/model/TblAddress.java
@@ -21,11 +21,11 @@
 import java.util.UUID;
 
 @Data
-@Entity
+@Entity(name = "TBL_GFI_ADDRESS")
 public class TblAddress {
     @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "tbl_address_id_seq")
-    @SequenceGenerator(name = "tbl_address_id_seq", sequenceName = "tbl_address_id_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "TBL_GFI_ADDRESS_ID_SEQ")
+    @SequenceGenerator(name = "TBL_GFI_ADDRESS_ID_SEQ", sequenceName = "TBL_GFI_ADDRESS_ID_SEQ", allocationSize = 1)
     @Column(name = "id", updatable = false)
     private Long id;
     private UUID uuid;
diff --git a/addressImport/src/main/resources/db/migration/V1_2__CHANGE_ADDRESS_TABLE.sql b/addressImport/src/main/resources/db/migration/V1_2__CHANGE_ADDRESS_TABLE.sql
new file mode 100644
index 0000000..ddd60a9
--- /dev/null
+++ b/addressImport/src/main/resources/db/migration/V1_2__CHANGE_ADDRESS_TABLE.sql
@@ -0,0 +1,117 @@
+-----------------------------------------------------------------------------------
+-- *******************************************************************************
+-- * Copyright (c) 2019 Contributors to the Eclipse Foundation
+-- *
+-- * See the NOTICE file(s) distributed with this work for additional
+-- * information regarding copyright ownership.
+-- *
+-- * This program and the accompanying materials are made available under the
+-- * terms of the Eclipse Public License v. 2.0 which is available at
+-- * http://www.eclipse.org/legal/epl-2.0.
+-- *
+-- * SPDX-License-Identifier: EPL-2.0
+-- *******************************************************************************
+-----------------------------------------------------------------------------------
+
+
+
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+-- Tables ADDRESSIMPORT
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+
+DROP TABLE IF EXISTS public.TBL_GFI_ADDRESS CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_GFI_ADDRESS_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_ADDRESS CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_ADDRESS_ID_SEQ;
+
+-- ---------------------------------------------
+-- TABLE TBL_ADDRESS
+-- ---------------------------------------------
+CREATE SEQUENCE public.TBL_GFI_ADDRESS_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.TBL_GFI_ADDRESS_ID_SEQ
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.TBL_GFI_ADDRESS
+(
+  ID integer NOT NULL DEFAULT nextval('TBL_GFI_ADDRESS_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  SDOX1 numeric(9,2) NOT NULL,
+  SDOY1 numeric(10,2) NOT NULL,
+  G3EFID numeric,
+  POSTCODE character varying(30),
+  COMMUNITY character varying(255),
+  DISTRICT character varying(255),
+  STREET character varying(255),
+  HOUSENUMBER character varying(30),
+  WATER_CONNECTION boolean,
+  WATER_GROUP character varying(255),
+  GAS_CONNECTION boolean,
+  GAS_GROUP character varying(255),
+  POWER_CONNECTION boolean,
+  DISTRICTHEATING_CONNECTION boolean,
+  TELECOMM_CONNECTION boolean,
+  STATION_ID character varying(30),
+  LONGITUDE numeric(9,6),
+  LATITUDE numeric(9,6),
+  CONSTRAINT TBL_ADDRESS_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.TBL_GFI_ADDRESS
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.TBL_GFI_ADDRESS TO GFI_SERVICE;
+
+CREATE INDEX idx_tbl_gfiaddress_g3efid ON public.TBL_GFI_ADDRESS ( G3EFID );
+CREATE INDEX idx_tbl_gfiaddress_postcode ON public.TBL_GFI_ADDRESS ( POSTCODE );
+CREATE INDEX idx_tbl_gfiaddress_community ON public.TBL_GFI_ADDRESS ( COMMUNITY );
+CREATE INDEX idx_tbl_gfiaddress_district ON public.TBL_GFI_ADDRESS ( DISTRICT );
+CREATE INDEX idx_tbl_gfiaddress_street ON public.TBL_GFI_ADDRESS ( STREET );
+CREATE INDEX idx_tbl_gfiaddress_station_id ON public.TBL_GFI_ADDRESS ( STATION_ID );
+
+
+-- ---------------------------------------------
+-- TABLE TBL_STATION
+-- ---------------------------------------------
+
+DROP TABLE IF EXISTS public.TBL_STATION CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_STATION_ID_SEQ;
+
+CREATE SEQUENCE public.TBL_STATION_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.TBL_STATION_ID_SEQ
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.TBL_STATION
+(
+  ID integer NOT NULL DEFAULT nextval('TBL_STATION_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  SDOX1 numeric(9,2) NOT NULL,
+  SDOY1 numeric(10,2) NOT NULL,
+  G3EFID numeric,
+  STATION_ID character varying(30),
+  STATION_NAME character varying(255),
+  LONGITUDE numeric(9,6),
+  LATITUDE numeric(9,6),
+  CONSTRAINT TBL_STATION_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.TBL_STATION
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.TBL_STATION TO GFI_SERVICE;
+
+CREATE INDEX idx_tbl_station_g3efid ON public.TBL_STATION ( G3EFID );
+CREATE INDEX idx_tbl_station_station_id ON public.TBL_STATION ( STATION_ID );
+CREATE INDEX idx_tbl_station_uuid ON public.TBL_STATION ( UUID );
+
+
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationDistributionGroupMapper.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationDistributionGroupMapper.java
index 452d779..8a674aa 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationDistributionGroupMapper.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationDistributionGroupMapper.java
@@ -24,16 +24,9 @@
 @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
 public interface FailureInformationDistributionGroupMapper {
     @Mappings({
-            @Mapping(source = "fkTblFailureInformation", target = "failureInformationId"),
-            @Mapping(source = "fkTblDistributionGroup", target = "distributionGroupId")
+            @Mapping(source = "failureInformation.id", target = "failureInformationId"),
+            @Mapping(source = "distributionGroup.id", target = "distributionGroupId")
     })
     FailureInformationDistributionGroupDto toFailureInfoDistributionGroupDto(TblFailureInformationDistributionGroup tblFailureInformationDistributionGroup);
 
-
-    @Mappings({
-            @Mapping(target = "fkTblFailureInformation", source = "failureInformationId"),
-            @Mapping(target = "fkTblDistributionGroup", source = "distributionGroupId")
-    })
-    TblFailureInformationDistributionGroup toTblFailureInformationDistributionGroup(FailureInformationDistributionGroupDto failureInformationDistributionGroupDto);
-
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationStationMapper.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationStationMapper.java
index 4c96501..1cc61d4 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationStationMapper.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationStationMapper.java
@@ -14,7 +14,7 @@
  */
 package org.eclipse.openk.gridfailureinformation.mapper;
 
-import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationStation;
+import org.eclipse.openk.gridfailureinformation.model.TblFailinfoStation;
 import org.eclipse.openk.gridfailureinformation.viewmodel.FailureInformationStationDto;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
@@ -24,14 +24,8 @@
 @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
 public interface FailureInformationStationMapper {
     @Mappings({
-            @Mapping(source = "fkTblFailureInformation", target = "failureInformationId")
+            @Mapping(source = "failureInformation.id", target = "failureInformationId")
     })
-    FailureInformationStationDto toFailureInfoStationDto(TblFailureInformationStation tblFailureInformationStation);
-
-
-    @Mappings({
-            @Mapping(target = "fkTblFailureInformation", source = "failureInformationId")
-    })
-    TblFailureInformationStation toTblFailureInformationStation(FailureInformationStationDto failureInformationStationDto);
+    FailureInformationStationDto toFailureInfoStationDto(TblFailinfoStation tblFailureInformationStation);
 
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/HtblFailureInformationStation.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/HtblFailureInformationStation.java
index 895b9a0..8e93977 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/HtblFailureInformationStation.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/HtblFailureInformationStation.java
@@ -25,11 +25,11 @@
 import java.util.Date;
 
 @Data
-@Entity
+@Entity( name = "HTBL_FAILINFO_STATION")
 public class HtblFailureInformationStation {
     @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "htbl_failure_information_station_id_seq")
-    @SequenceGenerator(name = "htbl_failure_information_station_id_seq", sequenceName = "htbl_failure_information_station_id_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "HTBL_FAILINFO_STATION_ID_SEQ")
+    @SequenceGenerator(name = "HTBL_FAILINFO_STATION_ID_SEQ", sequenceName = "HTBL_FAILINFO_STATION_ID_SEQ", allocationSize = 1)
     @Column(name = "hid", updatable = false)
     private Long hid;
     private Date hdate;
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefBranch.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefBranch.java
index 27059b0..9adbace 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefBranch.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefBranch.java
@@ -20,11 +20,11 @@
 import java.util.UUID;
 
 @Data
-@Entity
+@Entity( name = "REF_GFI_BRANCH")
 public class RefBranch {
     @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "ref_branch_id_seq")
-    @SequenceGenerator(name = "ref_branch_id_seq", sequenceName = "ref_branch_id_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "ref_gfi_branch_id_seq")
+    @SequenceGenerator(name = "ref_gfi_branch_id_seq", sequenceName = "ref_gfi_branch_id_seq", allocationSize = 1)
     @Column(name = "id", updatable = false)
     private Long id;
     private UUID uuid;
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefFailureClassification.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefFailureClassification.java
index 34a8c60..a094087 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefFailureClassification.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefFailureClassification.java
@@ -23,8 +23,8 @@
 @Entity
 public class RefFailureClassification {
     @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "ref_failure_classification_id_seq")
-    @SequenceGenerator(name = "ref_failure_classification_id_seq", sequenceName = "ref_failure_classification_id_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "REF_FAILURE_CLASS_ID_SEQ")
+    @SequenceGenerator(name = "REF_FAILURE_CLASS_ID_SEQ", sequenceName = "REF_FAILURE_CLASS_ID_SEQ", allocationSize = 1)
     @Column(name = "id", updatable = false)
     private Long id;
     private UUID uuid;
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblAddress.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblAddress.java
index ec80d80..7cf0198 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblAddress.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblAddress.java
@@ -21,11 +21,11 @@
 import java.util.UUID;
 
 @Data
-@Entity
+@Entity(name = "TBL_GFI_ADDRESS")
 public class TblAddress {
     @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "tbl_address_id_seq")
-    @SequenceGenerator(name = "tbl_address_id_seq", sequenceName = "tbl_address_id_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "TBL_GFI_ADDRESS_ID_SEQ")
+    @SequenceGenerator(name = "TBL_GFI_ADDRESS_ID_SEQ", sequenceName = "TBL_GFI_ADDRESS_ID_SEQ", allocationSize = 1)
     @Column(name = "id", updatable = false)
     private Long id;
     private UUID uuid;
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblDistributionGroupMember.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblDistributionGroupMember.java
index ba75b13..9ce4c5f 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblDistributionGroupMember.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblDistributionGroupMember.java
@@ -30,8 +30,8 @@
 @Entity
 public class TblDistributionGroupMember {
     @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "tbl_distribution_group_member_id_seq")
-    @SequenceGenerator(name = "tbl_distribution_group_member_id_seq", sequenceName = "tbl_distribution_group_member_id_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "TBL_DISTR_GROUP_MEMB_ID_SEQ")
+    @SequenceGenerator(name = "TBL_DISTR_GROUP_MEMB_ID_SEQ", sequenceName = "TBL_DISTR_GROUP_MEMB_ID_SEQ", allocationSize = 1)
     @Column(name = "id", updatable = false)
     private Long id;
     private UUID uuid;
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationStation.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailinfoStation.java
similarity index 68%
rename from gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationStation.java
rename to gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailinfoStation.java
index 07725ef..5594a78 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationStation.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailinfoStation.java
@@ -20,14 +20,21 @@
 
 @Data
 @Entity
-public class TblFailureInformationStation {
+public class TblFailinfoStation {
     @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "tbl_failure_information_station_id_seq")
-    @SequenceGenerator(name = "tbl_failure_information_station_id_seq", sequenceName = "tbl_failure_information_station_id_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "tbl_fi_station_id_seq")
+    @SequenceGenerator(name = "tbl_fi_station_id_seq", sequenceName = "tbl_fi_station_id_seq", allocationSize = 1)
     @Column(name = "id", updatable = false)
     private Long id;
 
-    private Long fkTblFailureInformation;
+    @ManyToOne
+    @JoinColumn( name = "fk_tbl_failure_information")
+    private TblFailureInformation failureInformation;
+
+
+    /*@ManyToOne
+    @JoinColumn( name = "station_station_id")
+    private TblStation station;*/
     private String stationStationId;
 
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformation.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformation.java
index 89563e1..824acf4 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformation.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformation.java
@@ -70,7 +70,10 @@
     private String stationCoords;
     private BigDecimal longitude;
     private BigDecimal latitude;
+
+    @Column( name = "object_ref_ext_system")
     private String objectReferenceExternalSystem;
+
     private String publicationStatus;
     private String publicationFreetext;
     private Boolean condensed;
@@ -115,7 +118,7 @@
     private RefExpectedReason refExpectedReason;
 
     @ManyToOne
-    @JoinColumn( name = "fk_tbl_failure_information_condensed")
+    @JoinColumn( name = "fk_tbl_failinfo_condensed")
     private TblFailureInformation tblFailureInformationCondensed;
 
     @Transient
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationDistributionGroup.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationDistributionGroup.java
index 2835d15..63c84b1 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationDistributionGroup.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationDistributionGroup.java
@@ -19,15 +19,19 @@
 import javax.persistence.*;
 
 @Data
-@Entity
+@Entity( name = "tbl_failinfo_distgroup")
 public class TblFailureInformationDistributionGroup {
     @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "tbl_failure_information_distribution_group_id_seq")
-    @SequenceGenerator(name = "tbl_failure_information_distribution_group_id_seq", sequenceName = "tbl_failure_information_distribution_group_id_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "TBL_FAILINFO_DISTGROUP_ID_SEQ")
+    @SequenceGenerator(name = "TBL_FAILINFO_DISTGROUP_ID_SEQ", sequenceName = "TBL_FAILINFO_DISTGROUP_ID_SEQ", allocationSize = 1)
     @Column(name = "id", updatable = false)
     private Long id;
 
-    private Long fkTblFailureInformation;
-    private Long fkTblDistributionGroup;
+    @ManyToOne
+    @JoinColumn( name = "fk_tbl_failure_information")
+    private TblFailureInformation failureInformation;
 
+    @ManyToOne
+    @JoinColumn( name = "fk_tbl_distribution_group")
+    private TblDistributionGroup distributionGroup;
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationPublicationChannel.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationPublicationChannel.java
index d199e12..f0dcf06 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationPublicationChannel.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationPublicationChannel.java
@@ -23,21 +23,18 @@
 //@Data
 @Getter
 @Setter
-@Entity
+@Entity( name="tbl_failinfo_pub_channel")
 public class TblFailureInformationPublicationChannel {
     @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "tbl_failure_information_publication_channel_seq")
-    @SequenceGenerator(name = "tbl_failure_information_publication_channel_seq", sequenceName = "tbl_failure_information_publication_channel_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "tbl_fi_pub_channel_seq")
+    @SequenceGenerator(name = "tbl_fi_pub_channel_seq", sequenceName = "tbl_fi_pub_channel_seq", allocationSize = 1)
     @Column(name = "id", updatable = false)
     private Long id;
 
     @ManyToOne
     @JoinColumn( name = "fkTblFailureInformation")
-    //@NotNull
     private TblFailureInformation tblFailureInformation;
-    //@NotNull
     private String publicationChannel;
-    //@NotNull
     private boolean published;
 
 
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationReminderMailSent.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationReminderMailSent.java
index 761ff81..fddf3ca 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationReminderMailSent.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformationReminderMailSent.java
@@ -20,11 +20,11 @@
 import java.util.Date;
 
 @Data
-@Entity
+@Entity( name = "tbl_failinfo_remind_mail_sent" )
 public class TblFailureInformationReminderMailSent {
     @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "tbl_failure_information_reminder_mail_sent_id_seq")
-    @SequenceGenerator(name = "tbl_failure_information_reminder_mail_sent_id_seq", sequenceName = "tbl_failure_information_reminder_mail_sent_id_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "tbl_failinfo_reminsent_id_seq")
+    @SequenceGenerator(name = "tbl_failinfo_reminsent_id_seq", sequenceName = "tbl_failinfo_reminsent_id_seq", allocationSize = 1)
     @Column(name = "id", updatable = false)
     private Long id;
 
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/DistributionGroupRepository.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/DistributionGroupRepository.java
index 9d3dae7..179de84 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/DistributionGroupRepository.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/DistributionGroupRepository.java
@@ -32,9 +32,11 @@
     Optional<TblDistributionGroup> findByUuid(UUID uuid);
 
     Optional<TblDistributionGroup> findByName(String name);
-
+/*
     @Query( "SELECT dg from TblDistributionGroup dg " +
-            "JOIN TblFailureInformationDistributionGroup fidg ON dg.id = fidg.fkTblDistributionGroup " +
-            "WHERE fidg.fkTblFailureInformation = :fiid")
+            "JOIN TblFailureInformationDistributionGroup.distributionGroup fidg ON dg.id = fidg.distributionGroup.id " +
+            "WHERE fidg.failureInformation.id = :fiid")
+
     List<TblDistributionGroup> findByFailureInformationId(Long fiid);
+    */
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationDistributionGroupRepository.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationDistributionGroupRepository.java
index 75ab211..41eb1bd 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationDistributionGroupRepository.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationDistributionGroupRepository.java
@@ -25,7 +25,8 @@
 @Repository
 public interface FailureInformationDistributionGroupRepository extends JpaRepository<TblFailureInformationDistributionGroup, Long > {
 
-    Optional<TblFailureInformationDistributionGroup> findByFkTblFailureInformationAndFkTblDistributionGroup(Long failureInfoId, Long groupId);
-    List<TblFailureInformationDistributionGroup> findByFkTblFailureInformation(Long id);
-    void deleteByFkTblFailureInformation(Long id);
+    Optional<TblFailureInformationDistributionGroup> findByFailureInformationIdAndDistributionGroupId(Long failureInfoId, Long groupId);
+    void deleteByFailureInformationId(Long id);
+
+    List<TblFailureInformationDistributionGroup> findByFailureInformationId( Long failureInformationId);
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationStationRepository.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationStationRepository.java
index 13dce8c..5241913 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationStationRepository.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/FailureInformationStationRepository.java
@@ -15,7 +15,7 @@
 
 package org.eclipse.openk.gridfailureinformation.repository;
 
-import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationStation;
+import org.eclipse.openk.gridfailureinformation.model.TblFailinfoStation;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;
@@ -25,15 +25,14 @@
 import java.util.UUID;
 
 @Repository
-public interface FailureInformationStationRepository extends JpaRepository<TblFailureInformationStation, Long > {
+public interface FailureInformationStationRepository extends JpaRepository<TblFailinfoStation, Long > {
 
-    Optional<TblFailureInformationStation> findByFkTblFailureInformationAndStationStationId(Long failureInfoId, String stationStationId);
-    List<TblFailureInformationStation> findByFkTblFailureInformation(Long id);
-    void deleteByFkTblFailureInformation(Long id);
+    Optional<TblFailinfoStation> findByFailureInformationIdAndStationStationId(Long failureInfoId, String stationStationId);
+    List<TblFailinfoStation> findByFailureInformationId(Long id);
+    void deleteByFailureInformationId(Long id);
 
-    @Query("SELECT ts.uuid FROM TblFailureInformationStation fis " +
-            "JOIN TblFailureInformation fi ON fis.fkTblFailureInformation = fi.id " +
+    @Query( "SELECT ts.uuid FROM TblFailinfoStation fis " +
             "JOIN TblStation ts ON fis.stationStationId = ts.stationId " +
-            "WHERE fi.uuid = :uuid ORDER BY fis.id")
+            "WHERE fis.failureInformation.uuid = :uuid" )
     List<UUID> findUuidByFkTblFailureInformation( UUID uuid );
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java
index 1c4bfed..397533e 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java
@@ -33,8 +33,10 @@
 import org.eclipse.openk.gridfailureinformation.model.RefStatus;
 import org.eclipse.openk.gridfailureinformation.model.TblDistributionGroup;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformation;
+import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationDistributionGroup;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationPublicationChannel;
 import org.eclipse.openk.gridfailureinformation.repository.DistributionGroupRepository;
+import org.eclipse.openk.gridfailureinformation.repository.FailureInformationDistributionGroupRepository;
 import org.eclipse.openk.gridfailureinformation.repository.FailureInformationPublicationChannelRepository;
 import org.eclipse.openk.gridfailureinformation.repository.FailureInformationRepository;
 import org.eclipse.openk.gridfailureinformation.util.GroupMemberPlzFilter;
@@ -107,6 +109,9 @@
     private DistributionGroupRepository distributionGroupRepository;
 
     @Autowired
+    private FailureInformationDistributionGroupRepository failureInformationDistributionGroupRepository;
+
+    @Autowired
     private ResourceConfig resourceConfig;
 
     @Autowired
@@ -151,8 +156,8 @@
                 //Nullsafe check
                 if (Boolean.TRUE.equals(rChannel.getIsMailType())) {
                     //Holen der Verteilergruppen (Pro Verteilergruppe eine Message auf RabbitMQ)
-                    List<TblDistributionGroup> distributionGroups =
-                            distributionGroupRepository.findByFailureInformationId(existingTblFailureInfo.getId());
+                    List<TblFailureInformationDistributionGroup> distributionGroups =
+                            failureInformationDistributionGroupRepository.findByFailureInformationId(existingTblFailureInfo.getId());
 
                     if (distributionGroups == null || distributionGroups.isEmpty()) {
                         log.warn("no distribution group found for failureInfo: "
@@ -160,7 +165,7 @@
                         return false;
                     }
 
-                    distributionGroups.forEach( x -> prepareMessage(existingTblFailureInfo, x, rChannel, processState));
+                    distributionGroups.forEach( x -> prepareMessage(existingTblFailureInfo, x.getDistributionGroup(), rChannel, processState));
 
                 }
                 else {
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationDistributionGroupService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationDistributionGroupService.java
index 53c4cd8..1f2c0f9 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationDistributionGroupService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationDistributionGroupService.java
@@ -57,8 +57,9 @@
     public List<DistributionGroupDto> findDistributionGroupsByFailureInfo(UUID failureInfoUuid ) {
         TblFailureInformation existingTblFailureInfo = failureInformationRepository.findByUuid( failureInfoUuid )
                 .orElseThrow(NotFoundException::new);
-        return distributionGroupRepository.findByFailureInformationId(existingTblFailureInfo.getId())
+        return failureInformationDistributionGroupRepository.findByFailureInformationId(existingTblFailureInfo.getId())
                 .stream()
+                .map( TblFailureInformationDistributionGroup::getDistributionGroup )
                 .map( distributionGroupMapper::toDistributionGroupDto )
                 .collect(Collectors.toList());
     }
@@ -72,7 +73,9 @@
         TblDistributionGroup distributionGroup = distributionGroupRepository.findByUuid(groupDto.getUuid())
                 .orElseThrow( () -> new NotFoundException("distribution.group.uuid.not.existing"));
 
-        List<TblDistributionGroup> distributionGroups =  distributionGroupRepository.findByFailureInformationId(failureInformation.getId());
+        List<TblDistributionGroup> distributionGroups =  failureInformationDistributionGroupRepository.findByFailureInformationId(failureInformation.getId()).stream()
+                .map( TblFailureInformationDistributionGroup::getDistributionGroup)
+                .collect(Collectors.toList());
 
         for (TblDistributionGroup group : distributionGroups) {
             if (group.getUuid().equals(groupDto.getUuid())) {
@@ -81,8 +84,8 @@
         }
 
         TblFailureInformationDistributionGroup assignmentToSave = new TblFailureInformationDistributionGroup();
-        assignmentToSave.setFkTblFailureInformation(failureInformation.getId());
-        assignmentToSave.setFkTblDistributionGroup(distributionGroup.getId());
+        assignmentToSave.setFailureInformation(failureInformation);
+        assignmentToSave.setDistributionGroup(distributionGroup);
 
         TblFailureInformationDistributionGroup savedFailureInfoGroup = failureInformationDistributionGroupRepository.save(assignmentToSave);
 
@@ -99,7 +102,7 @@
                 .orElseThrow( () -> new BadRequestException("distribution.group.uuid.not.existing"));
 
         TblFailureInformationDistributionGroup tblFailureInformationDistributionGroup
-                = failureInformationDistributionGroupRepository.findByFkTblFailureInformationAndFkTblDistributionGroup(failureInformation.getId(), distributionGroup.getId())
+                = failureInformationDistributionGroupRepository.findByFailureInformationIdAndDistributionGroupId(failureInformation.getId(), distributionGroup.getId())
                     .orElseThrow(() -> new BadRequestException("failure.info.distribution.group.not.existing"));
 
         failureInformationDistributionGroupRepository.delete(tblFailureInformationDistributionGroup);
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java
index 768a9ef..5e84fa7 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java
@@ -36,7 +36,7 @@
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformation;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationPublicationChannel;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationReminderMailSent;
-import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationStation;
+import org.eclipse.openk.gridfailureinformation.model.TblFailinfoStation;
 import org.eclipse.openk.gridfailureinformation.model.TblStation;
 import org.eclipse.openk.gridfailureinformation.repository.AddressRepository;
 import org.eclipse.openk.gridfailureinformation.repository.BranchRepository;
@@ -264,14 +264,14 @@
         if(stationList.size() > stationSet.size()){
             throw new OperationDeniedException(OperationType.INSERT, "double.assignment.of.stations");
         }
-        List<TblFailureInformationStation> tblFailureStations
-                = failureInformationStationRepository.findByFkTblFailureInformation(tblToStore.getId());
+        List<TblFailinfoStation> tblFailureStations
+                = failureInformationStationRepository.findByFailureInformationId(tblToStore.getId());
         failureInformationStationRepository.deleteAll(tblFailureStations);
 
         stationList.forEach(x-> {
-            TblFailureInformationStation newRecord = new TblFailureInformationStation();
+            TblFailinfoStation newRecord = new TblFailinfoStation();
             newRecord.setStationStationId(x.getStationId());
-            newRecord.setFkTblFailureInformation(tblToStore.getId());
+            newRecord.setFailureInformation(tblToStore);
             failureInformationStationRepository.save(newRecord);
         });
 
@@ -535,16 +535,16 @@
         Set<String> stationsSuperSet = new HashSet<>();
         listFailureInfos.forEach( x ->
             stationsSuperSet.addAll(
-                failureInformationStationRepository.findByFkTblFailureInformation(x.getId())
+                failureInformationStationRepository.findByFailureInformationId(x.getId())
                     .stream()
-                        .map( TblFailureInformationStation::getStationStationId )
+                        .map( TblFailinfoStation::getStationStationId )
                         .collect(Collectors.toList())
             )
         );
-        final List<TblFailureInformationStation> byFkTblFailureInformation = failureInformationStationRepository.findByFkTblFailureInformation(condensedFailureInformation.getId());
+        final List<TblFailinfoStation> byFkTblFailureInformation = failureInformationStationRepository.findByFailureInformationId(condensedFailureInformation.getId());
         Set<String> stationsOfOldExistingCondensedFi =
                 byFkTblFailureInformation.stream()
-                .map( TblFailureInformationStation::getStationStationId )
+                .map( TblFailinfoStation::getStationStationId )
                 .collect(Collectors.toSet());
 
         // store the set for the newly created failure info
@@ -552,8 +552,8 @@
                 .stream()
                 .filter( x -> !stationsOfOldExistingCondensedFi.contains(x))
                 .forEach( x -> {
-                    TblFailureInformationStation fis = new TblFailureInformationStation();
-                    fis.setFkTblFailureInformation(condensedFailureInformation.getId());
+                    TblFailinfoStation fis = new TblFailinfoStation();
+                    fis.setFailureInformation(condensedFailureInformation);
                     fis.setStationStationId(x);
                     failureInformationStationRepository.save(fis);
         });
@@ -852,10 +852,10 @@
                 failureInformationReminderMailSentRepository.deleteByTblFailureInformation(existingTblFailureInformation);
             }
 
-            failureInformationStationRepository.findByFkTblFailureInformation(existingTblFailureInformation.getId())
+            failureInformationStationRepository.findByFailureInformationId(existingTblFailureInformation.getId())
                     .forEach(failureInformationStationRepository::delete);
 
-            failureInformationDistributionGroupRepository.findByFkTblFailureInformation(existingTblFailureInformation.getId())
+            failureInformationDistributionGroupRepository.findByFailureInformationId(existingTblFailureInformation.getId())
                     .forEach(failureInformationDistributionGroupRepository::delete);
 
             failureInformationRepository.findByFailureInformationCondensedUuid(existingTblFailureInformation.getUuid())
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationService.java
index 19bff4e..91e1222 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationService.java
@@ -21,7 +21,7 @@
 import org.eclipse.openk.gridfailureinformation.mapper.FailureInformationStationMapper;
 import org.eclipse.openk.gridfailureinformation.mapper.StationMapper;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformation;
-import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationStation;
+import org.eclipse.openk.gridfailureinformation.model.TblFailinfoStation;
 import org.eclipse.openk.gridfailureinformation.model.TblStation;
 import org.eclipse.openk.gridfailureinformation.repository.FailureInformationRepository;
 import org.eclipse.openk.gridfailureinformation.repository.FailureInformationStationRepository;
@@ -87,17 +87,17 @@
         TblStation station = stationRepository.findByUuid(groupDto.getUuid())
                 .orElseThrow(() -> new NotFoundException("station.uuid.not.existing"));
 
-        Optional<TblFailureInformationStation> fiStation = failureInformationStationRepository.findByFkTblFailureInformationAndStationStationId(failureInformation.getId(), station.getStationId());
+        Optional<TblFailinfoStation> fiStation = failureInformationStationRepository.findByFailureInformationIdAndStationStationId(failureInformation.getId(), station.getStationId());
 
         if (fiStation.isPresent()) {
             throw new OperationDeniedException(OperationType.INSERT, "double.assignment.of.stations");
         }
 
-        TblFailureInformationStation assignmentToSave = new TblFailureInformationStation();
-        assignmentToSave.setFkTblFailureInformation(failureInformation.getId());
+        TblFailinfoStation assignmentToSave = new TblFailinfoStation();
+        assignmentToSave.setFailureInformation(failureInformation);
         assignmentToSave.setStationStationId(station.getStationId());
 
-        TblFailureInformationStation savedFailureInfoGroup = failureInformationStationRepository.save(assignmentToSave);
+        TblFailinfoStation savedFailureInfoGroup = failureInformationStationRepository.save(assignmentToSave);
 
         return failureInformationStationMapper.toFailureInfoStationDto(savedFailureInfoGroup);
 
@@ -111,8 +111,8 @@
         TblStation station = stationRepository.findByUuid(groupUuid)
                 .orElseThrow( () -> new BadRequestException("station.uuid.not.existing"));
 
-        TblFailureInformationStation tblFailureInformationStation
-                = failureInformationStationRepository.findByFkTblFailureInformationAndStationStationId(failureInformation.getId(), station.getStationId())
+        TblFailinfoStation tblFailureInformationStation
+                = failureInformationStationRepository.findByFailureInformationIdAndStationStationId(failureInformation.getId(), station.getStationId())
                     .orElseThrow(() -> new BadRequestException("failure.info.station.not.existing"));
 
         failureInformationStationRepository.delete(tblFailureInformationStation);
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationService.java
index 7fcdeb1..696c183 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationService.java
@@ -80,11 +80,11 @@
 
     public List<HistFailureInformationStationDto> insertHistFailureInfoStationsForGfi(TblFailureInformation failureInformation) {
 
-        List<TblFailureInformationStation> fiStations =  failureInformationStationRepository.findByFkTblFailureInformation(failureInformation.getId());
+        List<TblFailinfoStation> fiStations =  failureInformationStationRepository.findByFailureInformationId(failureInformation.getId());
         List<HtblFailureInformationStation> savedFailureInformationStations = new ArrayList<>();
 
         if (!fiStations.isEmpty()) {
-            for (TblFailureInformationStation tblFiStation : fiStations) {
+            for (TblFailinfoStation tblFiStation : fiStations) {
                 HtblFailureInformationStation htblFailureInfoStationToSave = new HtblFailureInformationStation();
 
                 htblFailureInfoStationToSave.setFkTblFailureInformation(failureInformation.getId());
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilter.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilter.java
index 7c6d32f..34a3b83 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilter.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilter.java
@@ -16,7 +16,7 @@
 
 import org.eclipse.openk.gridfailureinformation.model.TblAddress;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformation;
-import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationStation;
+import org.eclipse.openk.gridfailureinformation.model.TblFailinfoStation;
 import org.eclipse.openk.gridfailureinformation.repository.AddressRepository;
 import org.eclipse.openk.gridfailureinformation.repository.FailureInformationStationRepository;
 import org.eclipse.openk.gridfailureinformation.viewmodel.DistributionGroupMemberDto;
@@ -49,8 +49,8 @@
         if( tblFi.getPostcode() != null ) {
             postcodesInFi.add(tblFi.getPostcode());
         }
-        List<String> stationsIds = fiStationRepository.findByFkTblFailureInformation(tblFi.getId()).stream()
-                .map(TblFailureInformationStation::getStationStationId)
+        List<String> stationsIds = fiStationRepository.findByFailureInformationId(tblFi.getId()).stream()
+                .map(TblFailinfoStation::getStationStationId)
                 .collect(Collectors.toList());
 
         stationsIds.forEach( x -> postcodesInFi.addAll(evaluatePostcodesForStation( x )));
diff --git a/gfsBackendService/src/main/resources/application_localdev.yml b/gfsBackendService/src/main/resources/application_localdev.yml
index bbdca8e..3121113 100644
--- a/gfsBackendService/src/main/resources/application_localdev.yml
+++ b/gfsBackendService/src/main/resources/application_localdev.yml
@@ -13,8 +13,8 @@
 backend-version: 1.0.0
 spring:
   datasource:
-    #url: jdbc:postgresql://entopticadirx:5432/GridFailureInfoDevelop
-    url: jdbc:postgresql://entopticadirx:5432/GridFailureInfoDevServer
+    url: jdbc:postgresql://entopticadirx:5432/GridFailureInfoDevelop
+    #url: jdbc:postgresql://entopticadirx:5432/GridFailureInfoDevServer
     username: ${GFI_DB_USERNAME}
     password: ${GFI_DB_PASSWORD}
     max-active: 5
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/ExportServiceTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/ExportServiceTest.java
index bbd6986..9fac1fb 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/ExportServiceTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/ExportServiceTest.java
@@ -23,8 +23,10 @@
 import org.eclipse.openk.gridfailureinformation.mapper.FailureInformationMapper;
 import org.eclipse.openk.gridfailureinformation.model.TblDistributionGroup;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformation;
+import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationDistributionGroup;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationPublicationChannel;
 import org.eclipse.openk.gridfailureinformation.repository.DistributionGroupRepository;
+import org.eclipse.openk.gridfailureinformation.repository.FailureInformationDistributionGroupRepository;
 import org.eclipse.openk.gridfailureinformation.repository.FailureInformationPublicationChannelRepository;
 import org.eclipse.openk.gridfailureinformation.repository.FailureInformationRepository;
 import org.eclipse.openk.gridfailureinformation.support.MockDataHelper;
@@ -68,6 +70,9 @@
     private FailureInformationPublicationChannelRepository publicationChannelRepository;
 
     @MockBean
+    private FailureInformationDistributionGroupRepository failureInformationDistributionGroupRepository;
+
+    @MockBean
     private DistributionGroupRepository distributionGroupRepository;
 
     @MockBean
@@ -166,13 +171,13 @@
         RabbitMqChannel rabbitMqChannel =  MockDataHelper.mockRabbitMqChannelMail();
         TblFailureInformation tblFailureInformation = MockDataHelper.mockTblFailureInformation();
 
-        List<TblDistributionGroup> listTblDistributionGroups= MockDataHelper.mockDistributionGroupList();
+        List<TblFailureInformationDistributionGroup> listTblDistributionGroups= MockDataHelper.mockTblFailureInformationDistributionGroupList();
 
         List<DistributionGroupMemberDto> listTblDistributionGroupMemberDtos =  MockDataHelper.mockDistributionGroupMemberDtoList();
 
         when (failureInformationRepository.findByUuid( any(UUID.class))).thenReturn(Optional.of(tblFailureInformation));
         when(distributionGroupMemberService.getMembersByGroupId(any(UUID.class))).thenReturn(listTblDistributionGroupMemberDtos);
-        when(distributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(listTblDistributionGroups);
+        when(failureInformationDistributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(listTblDistributionGroups);
         when(publicationChannelRepository.save(any(TblFailureInformationPublicationChannel.class))).thenReturn(new TblFailureInformationPublicationChannel());
         doNothing().when(rabbitMqConfig).checkExchangeAndQueueOnRabbitMq(anyString(), anyString());
         doReturn(rabbitMqChannel).when(exportServiceLocal).getAvailableRabbitMqChannel(anyString());
@@ -181,7 +186,7 @@
 
         boolean isMailPushed = exportServiceLocal.exportFailureInformation(UUID.randomUUID(), channels, null);
 
-        Mockito.verify(rabbitTemplate, times(2)).convertAndSend(any(), any(), any(Object.class));
+        Mockito.verify(rabbitTemplate, times(3)).convertAndSend(any(), any(), any(Object.class));
         assertTrue(isMailPushed);
 
     }
@@ -204,8 +209,8 @@
         tblFailureInformation.setCity(null);
         tblFailureInformation.setRefExpectedReason(null);
 
-        List<TblDistributionGroup> listTblDistributionGroups= MockDataHelper.mockDistributionGroupList();
-        when(distributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(listTblDistributionGroups);
+        List<TblFailureInformationDistributionGroup> listTblDistributionGroups= MockDataHelper.mockTblFailureInformationDistributionGroupList();
+        when(failureInformationDistributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(listTblDistributionGroups);
         List<DistributionGroupMemberDto> listTblDistributionGroupMemberDtos =  MockDataHelper.mockDistributionGroupMemberDtoList();
 
         when (failureInformationRepository.findByUuid( any(UUID.class))).thenReturn(Optional.of(tblFailureInformation));
@@ -218,7 +223,7 @@
 
         boolean isMailPushed = exportServiceLocal.exportFailureInformation(UUID.randomUUID(), channels, null);
 
-        Mockito.verify(rabbitTemplate, times(2)).convertAndSend(any(), any(), any(Object.class));
+        Mockito.verify(rabbitTemplate, times(3)).convertAndSend(any(), any(), any(Object.class));
         assertTrue(isMailPushed);
 
     }
@@ -246,8 +251,8 @@
         tblFailureInformation.setPostcode("112233");
         tblFailureInformation.setHousenumber("10-1");
 
-        List<TblDistributionGroup> listTblDistributionGroups= MockDataHelper.mockDistributionGroupList();
-        when(distributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(listTblDistributionGroups);
+        List<TblFailureInformationDistributionGroup> listTblDistributionGroups= MockDataHelper.mockTblFailureInformationDistributionGroupList();
+        when(failureInformationDistributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(listTblDistributionGroups);
         List<DistributionGroupMemberDto> listTblDistributionGroupMemberDtos =  MockDataHelper.mockDistributionGroupMemberDtoList();
 
         when (failureInformationRepository.findByUuid( any(UUID.class))).thenReturn(Optional.of(tblFailureInformation));
@@ -266,7 +271,7 @@
 
         boolean isMailPushed = exportServiceLocal.exportFailureInformation(UUID.randomUUID(), channels, null);
 
-        Mockito.verify(rabbitTemplate, times(2)).convertAndSend(any(), any(), any(Object.class));
+        Mockito.verify(rabbitTemplate, times(3)).convertAndSend(any(), any(), any(Object.class));
         assertTrue(isMailPushed);
 
     }
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationDistributionGroupServiceTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationDistributionGroupServiceTest.java
index 4915b1e..b0058c8 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationDistributionGroupServiceTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationDistributionGroupServiceTest.java
@@ -72,10 +72,10 @@
         List<DistributionGroupDto> distributionGroupDtoList = MockDataHelper.mockDistributionGroupList().stream()
                 .map( distributionGroupMapper::toDistributionGroupDto )
                 .collect(Collectors.toList());
-        List<TblDistributionGroup> tblDistGroupList = MockDataHelper.mockDistributionGroupList();
+        List<TblFailureInformationDistributionGroup> tblDistGroupList = MockDataHelper.mockFailureInformationDistributionGroupList();
 
         when(failureInformationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(failureInformation));
-        when(distributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(tblDistGroupList);
+        when(failureInformationDistributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(tblDistGroupList);
 
 
         List<DistributionGroupDto> distributionGroups = failureInformationDistributionGroupService.findDistributionGroupsByFailureInfo(UUID.randomUUID());
@@ -99,8 +99,8 @@
         FailureInformationDistributionGroupDto savedDto = failureInformationDistributionGroupService.insertFailureInfoDistributionGroup(UUID.randomUUID(), groupDto);
 
         assertNotNull(savedDto.getDistributionGroupId());
-        assertEquals(savedDto.getDistributionGroupId(), failureInfoGroup.getFkTblDistributionGroup());
-        assertEquals(savedDto.getFailureInformationId(), failureInfoGroup.getFkTblFailureInformation());
+        assertEquals(savedDto.getDistributionGroupId(), failureInfoGroup.getDistributionGroup().getId());
+        assertEquals(savedDto.getFailureInformationId(), failureInfoGroup.getFailureInformation().getId());
     }
 
 
@@ -110,17 +110,17 @@
         TblFailureInformation failureInformation = MockDataHelper.mockTblFailureInformation();
         TblDistributionGroup distributionGroup = MockDataHelper.mockTblDistributionGroup();
         DistributionGroupDto groupDto = MockDataHelper.mockDistributionGroupDto();
-        List<TblDistributionGroup> dgList = MockDataHelper.mockDistributionGroupList();
+        List<TblFailureInformationDistributionGroup> dgList = MockDataHelper.mockTblFailureInformationDistributionGroupList();
 
         when(failureInformationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(failureInformation));
         when(distributionGroupRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(distributionGroup));
         when(failureInformationDistributionGroupRepository.save(any(TblFailureInformationDistributionGroup.class))).thenReturn(failureInfoGroup);
-        when(distributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(dgList);
+        when(failureInformationDistributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(dgList);
         FailureInformationDistributionGroupDto savedDto = failureInformationDistributionGroupService.insertFailureInfoDistributionGroup(UUID.randomUUID(), groupDto);
 
         assertNotNull(savedDto.getDistributionGroupId());
-        assertEquals(savedDto.getDistributionGroupId(), failureInfoGroup.getFkTblDistributionGroup());
-        assertEquals(savedDto.getFailureInformationId(), failureInfoGroup.getFkTblFailureInformation());
+        assertEquals(savedDto.getDistributionGroupId(), failureInfoGroup.getDistributionGroup().getId());
+        assertEquals(savedDto.getFailureInformationId(), failureInfoGroup.getFailureInformation().getId());
     }
 
     @Test
@@ -129,13 +129,13 @@
         TblFailureInformation failureInformation = MockDataHelper.mockTblFailureInformation();
         TblDistributionGroup distributionGroup = MockDataHelper.mockTblDistributionGroup();
         DistributionGroupDto groupDto = MockDataHelper.mockDistributionGroupDto();
-        List<TblDistributionGroup> dgList = MockDataHelper.mockDistributionGroupList();
-        dgList.get(0).setUuid(groupDto.getUuid());
+        List<TblFailureInformationDistributionGroup> dgList = MockDataHelper.mockTblFailureInformationDistributionGroupList();
+        dgList.get(0).getDistributionGroup().setUuid(groupDto.getUuid());
 
         when(failureInformationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(failureInformation));
         when(distributionGroupRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(distributionGroup));
         when(failureInformationDistributionGroupRepository.save(any(TblFailureInformationDistributionGroup.class))).thenReturn(failureInfoGroup);
-        when(distributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(dgList);
+        when(failureInformationDistributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(dgList);
         assertThrows(OperationDeniedException.class, () -> failureInformationDistributionGroupService.insertFailureInfoDistributionGroup(UUID.randomUUID(), groupDto));
     }
 
@@ -147,7 +147,7 @@
 
         when(failureInformationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(failureInformation));
         when(distributionGroupRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(distributionGroup));
-        when(failureInformationDistributionGroupRepository.findByFkTblFailureInformationAndFkTblDistributionGroup(anyLong(), anyLong())).thenReturn(Optional.of(failureInfoGroup));
+        when(failureInformationDistributionGroupRepository.findByFailureInformationIdAndDistributionGroupId(anyLong(), anyLong())).thenReturn(Optional.of(failureInfoGroup));
         Mockito.doNothing().when(failureInformationDistributionGroupRepository).delete( isA( TblFailureInformationDistributionGroup.class ));
 
         failureInformationDistributionGroupService.deleteFailureInfoDistributionGroup(UUID.randomUUID(), UUID.randomUUID());
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationServiceTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationServiceTest.java
index d51a329..867980b 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationServiceTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationServiceTest.java
@@ -33,7 +33,7 @@
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationDistributionGroup;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationPublicationChannel;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationReminderMailSent;
-import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationStation;
+import org.eclipse.openk.gridfailureinformation.model.TblFailinfoStation;
 import org.eclipse.openk.gridfailureinformation.model.TblStation;
 import org.eclipse.openk.gridfailureinformation.repository.AddressRepository;
 import org.eclipse.openk.gridfailureinformation.repository.BranchRepository;
@@ -1194,7 +1194,7 @@
 
         tblFailureInformation.setRefStatusIntern(refStatus);
 
-        when(failureInformationDistributionGroupRepository.findByFkTblFailureInformation(anyLong())).thenReturn(MockDataHelper.mockTblFailureInformationDistributionGroupList());
+        when(failureInformationDistributionGroupRepository.findByFailureInformationId(anyLong())).thenReturn(MockDataHelper.mockTblFailureInformationDistributionGroupList());
         Mockito.doNothing().when(failureInformationDistributionGroupRepository).delete(any(TblFailureInformationDistributionGroup.class));
 
         when(failureInformationPublicationChannelRepository.findByTblFailureInformation(any(TblFailureInformation.class))).thenReturn(MockDataHelper.mockTblFailureInformationPublicationChannelList());
@@ -1203,8 +1203,8 @@
         when(failureInformationReminderMailSentRepository.findByTblFailureInformation(any(TblFailureInformation.class))).thenReturn(Optional.of(MockDataHelper.mockTblFailureInformationReminderMailSent()));
         Mockito.doNothing().when(failureInformationReminderMailSentRepository).delete(any(TblFailureInformationReminderMailSent.class));
 
-        when(failureInformationStationRepository.findByFkTblFailureInformation(anyLong())).thenReturn(MockDataHelper.mockTblFailureInformationStationList());
-        Mockito.doNothing().when(failureInformationStationRepository).delete(any(TblFailureInformationStation.class));
+        when(failureInformationStationRepository.findByFailureInformationId(anyLong())).thenReturn(MockDataHelper.mockTblFailureInformationStationList());
+        Mockito.doNothing().when(failureInformationStationRepository).delete(any(TblFailinfoStation.class));
 
         when(failureInformationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(tblFailureInformation));
         Mockito.doNothing().when(failureInformationRepository).delete( any(TblFailureInformation.class));
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationServiceTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationServiceTest.java
index 28721b0..af527d5 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationServiceTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationStationServiceTest.java
@@ -17,7 +17,7 @@
 import org.eclipse.openk.gridfailureinformation.config.TestConfiguration;
 import org.eclipse.openk.gridfailureinformation.mapper.StationMapper;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformation;
-import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationStation;
+import org.eclipse.openk.gridfailureinformation.model.TblFailinfoStation;
 import org.eclipse.openk.gridfailureinformation.model.TblStation;
 import org.eclipse.openk.gridfailureinformation.repository.FailureInformationRepository;
 import org.eclipse.openk.gridfailureinformation.repository.FailureInformationStationRepository;
@@ -86,32 +86,32 @@
 
     @Test
     void shouldInsertAStationForFailureInfo() {
-        TblFailureInformationStation failureInfoGroup = MockDataHelper.mockTblFailureInformationStation();
+        TblFailinfoStation failureInfoGroup = MockDataHelper.mockTblFailureInformationStation();
         TblFailureInformation failureInformation = MockDataHelper.mockTblFailureInformation();
         TblStation station = MockDataHelper.mockTblStation();
         StationDto stationDto = MockDataHelper.mockStationDto();
 
         when(failureInformationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(failureInformation));
         when(stationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(station));
-        when(failureInformationStationRepository.save(any(TblFailureInformationStation.class))).thenReturn(failureInfoGroup);
+        when(failureInformationStationRepository.save(any(TblFailinfoStation.class))).thenReturn(failureInfoGroup);
 
         FailureInformationStationDto savedDto = failureInformationStationService.insertFailureInfoStation(UUID.randomUUID(), stationDto);
 
         assertNotNull(savedDto.getStationStationId());
         assertEquals(savedDto.getStationStationId(), failureInfoGroup.getStationStationId());
-        assertEquals(savedDto.getFailureInformationId(), failureInfoGroup.getFkTblFailureInformation());
+        assertEquals(savedDto.getFailureInformationId(), failureInfoGroup.getFailureInformation().getId());
     }
 
     @Test
     void shouldRemoveStationFromFailureInfo() {
-        TblFailureInformationStation failureInfoStation = MockDataHelper.mockTblFailureInformationStation();
+        TblFailinfoStation failureInfoStation = MockDataHelper.mockTblFailureInformationStation();
         TblFailureInformation failureInformation = MockDataHelper.mockTblFailureInformation();
         TblStation station = MockDataHelper.mockTblStation();
 
         when(failureInformationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(failureInformation));
         when(stationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(station));
-        when(failureInformationStationRepository.findByFkTblFailureInformationAndStationStationId(anyLong(), anyString())).thenReturn(Optional.of(failureInfoStation));
-        Mockito.doNothing().when(failureInformationStationRepository).delete( isA( TblFailureInformationStation.class ));
+        when(failureInformationStationRepository.findByFailureInformationIdAndStationStationId(anyLong(), anyString())).thenReturn(Optional.of(failureInfoStation));
+        Mockito.doNothing().when(failureInformationStationRepository).delete( isA( TblFailinfoStation.class ));
 
         failureInformationStationService.deleteFailureInfoStation(UUID.randomUUID(), UUID.randomUUID());
 
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationServiceTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationServiceTest.java
index 21a30c5..a4c3024 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationServiceTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/HistFailureInformationStationServiceTest.java
@@ -94,12 +94,12 @@
     void shouldInsertStationsForFailureInfoVersion() {
         HtblFailureInformationStation histFailureInfoStation = MockDataHelper.mockHistTblFailureInformationStation();
         TblFailureInformation failureInformation = MockDataHelper.mockTblFailureInformation();
-        List<TblFailureInformationStation> fiStations = new LinkedList<>();
+        List<TblFailinfoStation> fiStations = new LinkedList<>();
         fiStations.add(MockDataHelper.mockTblFailureInformationStation());
         fiStations.add(MockDataHelper.mockTblFailureInformationStation());
 
         when(histFailureInformationStationRepository.save(any(HtblFailureInformationStation.class))).thenReturn(histFailureInfoStation);
-        when(failureInformationStationRepository.findByFkTblFailureInformation(anyLong())).thenReturn(fiStations);
+        when(failureInformationStationRepository.findByFailureInformationId(anyLong())).thenReturn(fiStations);
 
         List<HistFailureInformationStationDto> savedHistFailureInfoStationDtos = histFailureInformationStationService.insertHistFailureInfoStationsForGfi(failureInformation);
 
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java
index 27c274f..2585bfa 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java
@@ -32,7 +32,7 @@
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationDistributionGroup;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationPublicationChannel;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationReminderMailSent;
-import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationStation;
+import org.eclipse.openk.gridfailureinformation.model.TblFailinfoStation;
 import org.eclipse.openk.gridfailureinformation.model.TblImportData;
 import org.eclipse.openk.gridfailureinformation.model.TblStation;
 import org.eclipse.openk.gridfailureinformation.model.Version;
@@ -1349,6 +1349,21 @@
     }
 
 
+    public static List<TblFailureInformationDistributionGroup> mockFailureInformationDistributionGroupList() {
+        List<TblDistributionGroup> distributionGroupList = new ArrayList<>();
+
+        distributionGroupList.add(mockTblDistributionGroup());
+        distributionGroupList.add(mockTblDistributionGroup2());
+        return distributionGroupList.stream()
+                .map( x -> {
+                    TblFailureInformationDistributionGroup newRel = new TblFailureInformationDistributionGroup();
+                    newRel.setFailureInformation( mockTblFailureInformation());
+                    newRel.setDistributionGroup(x);
+                    return newRel; })
+                .collect(Collectors.toList());
+    }
+
+
     public static DistributionGroupDto mockDistributionGroupDto(){
 
         DistributionGroupDto distributionGroupDto = new DistributionGroupDto();
@@ -1462,21 +1477,21 @@
     }
 
 
-    public static  TblFailureInformationStation mockTblFailureInformationStation() {
-        TblFailureInformationStation tblFailureInformationStation = new TblFailureInformationStation();
+    public static TblFailinfoStation mockTblFailureInformationStation() {
+        TblFailinfoStation tblFailureInformationStation = new TblFailinfoStation();
         tblFailureInformationStation.setStationStationId("23456");
-        tblFailureInformationStation.setFkTblFailureInformation(98765L);
+        tblFailureInformationStation.setFailureInformation(mockTblFailureInformation());
         tblFailureInformationStation.setId(299L);
         return tblFailureInformationStation;
     }
 
-    public static List<TblFailureInformationStation> mockTblFailureInformationStationList(){
-        TblFailureInformationStation mock1 =  mockTblFailureInformationStation();
-        TblFailureInformationStation mock2 =  mockTblFailureInformationStation();
-        TblFailureInformationStation mock3 =  mockTblFailureInformationStation();
-        TblFailureInformationStation mock4 =  mockTblFailureInformationStation();
+    public static List<TblFailinfoStation> mockTblFailureInformationStationList(){
+        TblFailinfoStation mock1 =  mockTblFailureInformationStation();
+        TblFailinfoStation mock2 =  mockTblFailureInformationStation();
+        TblFailinfoStation mock3 =  mockTblFailureInformationStation();
+        TblFailinfoStation mock4 =  mockTblFailureInformationStation();
 
-        List<TblFailureInformationStation> list = Arrays.asList(mock1, mock2, mock3, mock4);
+        List<TblFailinfoStation> list = Arrays.asList(mock1, mock2, mock3, mock4);
         return list;
     }
 
@@ -1489,8 +1504,8 @@
 
     public static  TblFailureInformationDistributionGroup mockTblFailureInformationDistributionGroup() {
         TblFailureInformationDistributionGroup tblFailureInformationDistributionGroup = new TblFailureInformationDistributionGroup();
-        tblFailureInformationDistributionGroup.setFkTblDistributionGroup(5L);
-        tblFailureInformationDistributionGroup.setFkTblFailureInformation(8L);
+        tblFailureInformationDistributionGroup.setDistributionGroup(mockTblDistributionGroup()); // 5L
+        tblFailureInformationDistributionGroup.setFailureInformation(mockTblFailureInformation()); // 8L
         tblFailureInformationDistributionGroup.setId(99L);
         return tblFailureInformationDistributionGroup;
     }
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilterTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilterTest.java
index b00260c..d50be2c 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilterTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilterTest.java
@@ -17,7 +17,7 @@
 import org.assertj.core.util.Lists;
 import org.eclipse.openk.gridfailureinformation.model.TblAddress;
 import org.eclipse.openk.gridfailureinformation.model.TblFailureInformation;
-import org.eclipse.openk.gridfailureinformation.model.TblFailureInformationStation;
+import org.eclipse.openk.gridfailureinformation.model.TblFailinfoStation;
 import org.eclipse.openk.gridfailureinformation.repository.AddressRepository;
 import org.eclipse.openk.gridfailureinformation.repository.FailureInformationStationRepository;
 import org.eclipse.openk.gridfailureinformation.support.MockDataHelper;
@@ -64,12 +64,12 @@
         memberDtoList.get(2).setPostcodeList(Arrays.asList("77777", "88888"));
         memberDtoList.get(3).setPostcodeList(Lists.emptyList());
 
-        List<TblFailureInformationStation> fiStations = MockDataHelper.mockTblFailureInformationStationList();
+        List<TblFailinfoStation> fiStations = MockDataHelper.mockTblFailureInformationStationList();
         fiStations.get(0).setStationStationId("ST01");
         fiStations.get(1).setStationStationId("ST02");
         fiStations.get(2).setStationStationId("ST03");
         fiStations.get(3).setStationStationId("ST04");
-        when( fiStationRepository.findByFkTblFailureInformation(eq( tblFailureInformation.getId())))
+        when( fiStationRepository.findByFailureInformationId(eq( tblFailureInformation.getId())))
                 .thenReturn(fiStations);
 
         TblAddress[] addresses = new TblAddress[5];