diff --git a/src/main/java/com/example/demo/models/BlogPost.java b/src/main/java/com/example/demo/models/BlogPost.java index 80edca0a6..0a3190aec 100644 --- a/src/main/java/com/example/demo/models/BlogPost.java +++ b/src/main/java/com/example/demo/models/BlogPost.java @@ -13,6 +13,8 @@ public class BlogPost { private Long id; private String title; private String imageUrl; + @OneToOne(cascade = CascadeType.ALL) + private Recipe recipe; @ManyToOne(cascade = CascadeType.ALL) @JsonIgnore private User user; @@ -20,10 +22,11 @@ public class BlogPost { public BlogPost() { } - public BlogPost(Long id, String title, String imageUrl, User user) { + public BlogPost(Long id, String title, String imageUrl, Recipe recipe, User user) { this.id = id; this.title = title; this.imageUrl = imageUrl; + this.recipe = recipe; this.user = user; } @@ -51,6 +54,10 @@ public void setImageUrl(String imageUrl) { this.imageUrl = imageUrl; } + public Recipe getRecipe() { return recipe; } + + public void setRecipe(Recipe recipe) { this.recipe = recipe; } + public User getUser() { return user; } public void setUser(User user) { this.user = user; } diff --git a/src/main/java/com/example/demo/models/Recipe.java b/src/main/java/com/example/demo/models/Recipe.java index 67d76e6ae..13dc5187d 100644 --- a/src/main/java/com/example/demo/models/Recipe.java +++ b/src/main/java/com/example/demo/models/Recipe.java @@ -1,10 +1,8 @@ package com.example.demo.models; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import java.util.List; +import com.fasterxml.jackson.annotation.JsonIgnore; + +import javax.persistence.*; @Entity public class Recipe { @@ -14,16 +12,20 @@ public class Recipe { private String name; private String ingredients; private String instructions; + @OneToOne(cascade = CascadeType.ALL) + @JsonIgnore + private BlogPost blogPost; public Recipe() { } - public Recipe(Long id, String name, String ingredients, String instructions) { + public Recipe(Long id, String name, String ingredients, String instructions, BlogPost blogPost) { this.id = id; this.name = name; this.ingredients = ingredients; this.instructions = instructions; + this.blogPost = blogPost; } public Long getId() { @@ -57,4 +59,8 @@ public String getInstructions() { public void setInstructions(String instructions) { this.instructions = instructions; } + + public BlogPost getBlogPost() { return blogPost; } + + public void setBlogPost(BlogPost blogPost) { this.blogPost = blogPost; } } diff --git a/src/main/java/com/example/demo/service/UserService.java b/src/main/java/com/example/demo/service/UserService.java index 7db8b3097..8ff72c697 100644 --- a/src/main/java/com/example/demo/service/UserService.java +++ b/src/main/java/com/example/demo/service/UserService.java @@ -28,6 +28,9 @@ public List readAll(){ Iterable userIterable = repository.findAll(); List result = new ArrayList<>(); userIterable.forEach(result::add); + for(User user : result) { + user.setBlogPostList(blogPostRepository.findByUser(user.getId())); + } return result; } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e5cd89d73..e4b00806f 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -4,5 +4,5 @@ spring.datasource.url=jdbc:mysql://localhost:3306/blogdatabase spring.datasource.username=jen spring.datasource.password=zipcode0 spring.jpa.show-sql=true -spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect \ No newline at end of file diff --git a/target/classes/application.properties b/target/classes/application.properties index e5cd89d73..e4b00806f 100644 --- a/target/classes/application.properties +++ b/target/classes/application.properties @@ -4,5 +4,5 @@ spring.datasource.url=jdbc:mysql://localhost:3306/blogdatabase spring.datasource.username=jen spring.datasource.password=zipcode0 spring.jpa.show-sql=true -spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect \ No newline at end of file diff --git a/target/classes/com/example/demo/models/BlogPost.class b/target/classes/com/example/demo/models/BlogPost.class index 9bce77275..984807a0a 100644 Binary files a/target/classes/com/example/demo/models/BlogPost.class and b/target/classes/com/example/demo/models/BlogPost.class differ diff --git a/target/classes/com/example/demo/models/Recipe.class b/target/classes/com/example/demo/models/Recipe.class index 091f75ce4..4dc23e441 100644 Binary files a/target/classes/com/example/demo/models/Recipe.class and b/target/classes/com/example/demo/models/Recipe.class differ diff --git a/target/classes/com/example/demo/repository/RecipeRepository.class b/target/classes/com/example/demo/repository/RecipeRepository.class index d7fad6943..cbba40f0c 100644 Binary files a/target/classes/com/example/demo/repository/RecipeRepository.class and b/target/classes/com/example/demo/repository/RecipeRepository.class differ diff --git a/target/classes/com/example/demo/repository/TagRepository.class b/target/classes/com/example/demo/repository/TagRepository.class index 7a5c4ad93..652319bc0 100644 Binary files a/target/classes/com/example/demo/repository/TagRepository.class and b/target/classes/com/example/demo/repository/TagRepository.class differ diff --git a/target/classes/com/example/demo/service/UserService.class b/target/classes/com/example/demo/service/UserService.class index 9104aaae4..6a725e4a2 100644 Binary files a/target/classes/com/example/demo/service/UserService.class and b/target/classes/com/example/demo/service/UserService.class differ