To explain the problem I'm dealing with I will first provide the code.
RecipeController
@RequestMapping(path = "/addrecipe")
public void addNewRecipe(@RequestBody AddRecipeDto addRecipeDto){
    Recipe newRecipe = new Recipe();
    EvaUser user = evaUserRepository.findOne(addRecipeDto.getUserId());
    for(Ingredient ingredient: addRecipeDto.getIngredients()){
        ingredientRepository.save(ingredient);
    }
    newRecipe.setTitle(addRecipeDto.getTitle());
    newRecipe.setAuthor(user);
    newRecipe.setDescription(addRecipeDto.getDescription());
    newRecipe.setIngredients(addRecipeDto.getIngredients());
    recipeRepository.save(newRecipe);
    user.getMyRecipes().add(newRecipe);
    evaUserRepository.save(user);
}
UserController
@RequestMapping("/getusers")
public Iterable<EvaUser> getAllUsers() {
    return evaUserRepository.findAll();
}
EvaUser
@OneToMany
private List<Recipe> myRecipes;
@ManyToMany
private List<Recipe> favoriteRecipes;
Recipe
@ManyToOne
private EvaUser author;
Exception
Failed to write HTTP message: 
org.springframework.http.converter.HttpMessageNotWritableException: Could 
not write content: Infinite recursion
Problem
So when I call the method to add a recipe, I want the database to know that there is a new recipe and that the new recipe is linked to the user who added it. When I drop the part where I save the user-entity, the mapping isn't made at all. But when I use the userRepository to tell the database that there has been made a change (adding the recipe to their list) it seems like there is an infinite loop of adding new users.
 
    