diff --git a/app/repositories/orient_db/learning_object_repository.rb b/app/repositories/orient_db/learning_object_repository.rb
index 8311af5bd854590dd7839860df13895191ba2d9f..b4812b23a7b73b0260c396b171d92c464f15b7b5 100644
--- a/app/repositories/orient_db/learning_object_repository.rb
+++ b/app/repositories/orient_db/learning_object_repository.rb
@@ -25,7 +25,6 @@ module OrientDb
 
     # Usage:
     #   learning_object = repository.for(:learning_objects).get_by_dspace_id 123
-    #
     def get_by_dspace_id(id_dspace)
       result = select_by_property(odb_class, "id_dspace", id_dspace)
       build_object result.first
@@ -58,17 +57,6 @@ module OrientDb
       attribute_repository.find_all_by_learning_object learning_object
     end
 
-    def create_relations(learning_object)
-      relations = OrientDb::LearningObject::RelationsChain.new(learning_object, connection)
-      relations.create
-    end
-
-    def save(learning_object)
-      if learning_object.valid?
-        connection.command "INSERT INTO LearningObject CONTENT #{learning_object.to_json}"
-      end
-    end
-
     def types
       Rails.cache.fetch("learning_object/types", expires_in: 1.days) do
         query = "SELECT DISTINCT(type) FROM LearningObject GROUP BY type"
@@ -80,5 +68,18 @@ module OrientDb
       end
     end
 
+    def create(object)
+      super(object)
+      create_relations object
+      object
+    end
+
+    private
+
+    def create_relations(learning_object)
+      relations = OrientDb::Associations::LearningObjectAssociations.new(learning_object, connection)
+      relations.create
+    end
+
   end
 end