diff --git a/src/main/kotlin/mobildata/model/MobilData.kt b/src/main/kotlin/mobildata/model/MobilData.kt
index c417ab9f3a002aca92ad120373b6f2a737ded9cf..e52620b853ec3794d60a0637882d947a7971b743 100644
--- a/src/main/kotlin/mobildata/model/MobilData.kt
+++ b/src/main/kotlin/mobildata/model/MobilData.kt
@@ -22,10 +22,8 @@ data class MobilData(
         var wifiDataUsage: Int?,
         @Temporal(TemporalType.TIMESTAMP)
         var actualTime: Date?,
-        @ElementCollection
-        @CollectionTable(
-                name="process",
-                joinColumns = arrayOf(JoinColumn(name = "process_id")))
+        @OneToMany(cascade=arrayOf(CascadeType.ALL), orphanRemoval = true)
+        @JoinColumn(name = "user_id")
         var processList: List<MobileProcess>?,
         @Id @GeneratedValue(strategy = GenerationType.AUTO)
         var id: Long = 0) {
diff --git a/src/main/kotlin/mobildata/model/MobileProcess.kt b/src/main/kotlin/mobildata/model/MobileProcess.kt
index ae4d3ef9ff09e7d131e4a9a05fccac47b294be91..b996b210c4171c5e13baed01ba799ada6ffed30f 100644
--- a/src/main/kotlin/mobildata/model/MobileProcess.kt
+++ b/src/main/kotlin/mobildata/model/MobileProcess.kt
@@ -1,10 +1,17 @@
 package mobildata.model
 
-import javax.persistence.Column
-import javax.persistence.Embeddable
+import java.lang.reflect.Constructor
+import javax.persistence.*
 
-@Embeddable
+@Entity
+@Table(name = "process")
 data class MobileProcess(
         @Column(name="process")
-        val process: String? = null
-){}
\ No newline at end of file
+        val process: String? = null,
+        @Column(name="user_id")
+        var user_id: Long,
+        @Id @GeneratedValue(strategy = GenerationType.AUTO)
+        var id: Long = 0
+){
+        constructor() :this(null, 0, 0)
+}
\ No newline at end of file
diff --git a/src/main/kotlin/mobildata/web/MobilDataHandler.kt b/src/main/kotlin/mobildata/web/MobilDataHandler.kt
index 4e939575ee97c3acaeef9c44917469d62158e5ef..138fa597815968dd092ffaa2bebf886ca5ed255f 100644
--- a/src/main/kotlin/mobildata/web/MobilDataHandler.kt
+++ b/src/main/kotlin/mobildata/web/MobilDataHandler.kt
@@ -21,7 +21,7 @@ class MobilDataHandler (val mobilRepository: MobilDataRepository,
     private fun inputToMobilData(input : MobilDataIn, user:User? ): MobilData {
         var processes = ArrayList<MobileProcess>()
         input.processList?.forEach {
-            processes.add(MobileProcess(it))
+            processes.add(MobileProcess(it, 0, 0))
         }
         return MobilData(user_id = user!!.id, location_lat = input.location?.latitude,
                 location_long = input.location?.longitude, battery = input.battery,
diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql
index 574b08338fe0a0f17c5bb2fda35c92f14a9e9082..f94c008011a895105435517a4dbaeecdf4f99aff 100644
--- a/src/main/resources/schema.sql
+++ b/src/main/resources/schema.sql
@@ -18,6 +18,7 @@ create table "user" (
 
 create table process (
   id int8 not null,
+  user_id int8 not null,
   process VARCHAR(255)
 );
 
@@ -36,7 +37,6 @@ create table mobil_data (
   battery_temp DOUBLE PRECISION,
   mobile_data_usage INTEGER,
   wifi_data_usage INTEGER,
-  process_id INTEGER,
   actual_time TIMESTAMP not null,
   is_charging BOOLEAN
 );