diff --git a/src/main/java/com/example/demo/models/BlogPost.java b/src/main/java/com/example/demo/models/BlogPost.java index c927ea039..80edca0a6 100644 --- a/src/main/java/com/example/demo/models/BlogPost.java +++ b/src/main/java/com/example/demo/models/BlogPost.java @@ -14,6 +14,7 @@ public class BlogPost { private String title; private String imageUrl; @ManyToOne(cascade = CascadeType.ALL) + @JsonIgnore private User user; public BlogPost() { diff --git a/src/main/java/com/example/demo/repository/BlogPostRepository.java b/src/main/java/com/example/demo/repository/BlogPostRepository.java index ee78ab0ff..3f64ea582 100644 --- a/src/main/java/com/example/demo/repository/BlogPostRepository.java +++ b/src/main/java/com/example/demo/repository/BlogPostRepository.java @@ -1,7 +1,16 @@ package com.example.demo.repository; import com.example.demo.models.BlogPost; +import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; +import java.util.List; + +@Repository public interface BlogPostRepository extends CrudRepository { + + @Query(value = "SELECT * FROM blog_post b WHERE b.user_id = :userId", nativeQuery = true) + List findByUser(@Param("userId") Long userId); } diff --git a/src/main/java/com/example/demo/repository/RecipeRepository.java b/src/main/java/com/example/demo/repository/RecipeRepository.java index 23a97f3ab..a66f6ee67 100644 --- a/src/main/java/com/example/demo/repository/RecipeRepository.java +++ b/src/main/java/com/example/demo/repository/RecipeRepository.java @@ -2,7 +2,9 @@ import com.example.demo.models.Recipe; import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; +@Repository public interface RecipeRepository extends CrudRepository { } diff --git a/src/main/java/com/example/demo/repository/TagRepository.java b/src/main/java/com/example/demo/repository/TagRepository.java index 28768ba9e..a523dd6e8 100644 --- a/src/main/java/com/example/demo/repository/TagRepository.java +++ b/src/main/java/com/example/demo/repository/TagRepository.java @@ -2,6 +2,8 @@ import com.example.demo.models.Tag; import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; +@Repository public interface TagRepository extends CrudRepository { } diff --git a/src/main/java/com/example/demo/repository/UserRepository.java b/src/main/java/com/example/demo/repository/UserRepository.java index 3dfde2416..1a76a8a34 100644 --- a/src/main/java/com/example/demo/repository/UserRepository.java +++ b/src/main/java/com/example/demo/repository/UserRepository.java @@ -1,7 +1,16 @@ package com.example.demo.repository; +import com.example.demo.models.BlogPost; import com.example.demo.models.User; +import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; +import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; + +@Repository public interface UserRepository extends CrudRepository { + } diff --git a/src/main/java/com/example/demo/service/UserService.java b/src/main/java/com/example/demo/service/UserService.java index 589edc073..7db8b3097 100644 --- a/src/main/java/com/example/demo/service/UserService.java +++ b/src/main/java/com/example/demo/service/UserService.java @@ -1,6 +1,7 @@ package com.example.demo.service; import com.example.demo.models.User; +import com.example.demo.repository.BlogPostRepository; import com.example.demo.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -12,10 +13,16 @@ public class UserService { @Autowired private UserRepository repository; + @Autowired + private BlogPostRepository blogPostRepository; public User create(User user){ return repository.save(user); } - public User read(Long id){ return repository.findById(id).get(); } + public User read(Long id){ + User user = repository.findById(id).get(); + user.setBlogPostList(blogPostRepository.findByUser(id)); + return user; + } public List readAll(){ Iterable userIterable = repository.findAll(); @@ -41,3 +48,5 @@ public User delete(Long id){ return delete(read(id)); } } + + diff --git a/target/classes/com/example/demo/models/BlogPost.class b/target/classes/com/example/demo/models/BlogPost.class index 447e92485..9bce77275 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/repository/BlogPostRepository.class b/target/classes/com/example/demo/repository/BlogPostRepository.class index f1e1e0538..e99dc3a2b 100644 Binary files a/target/classes/com/example/demo/repository/BlogPostRepository.class and b/target/classes/com/example/demo/repository/BlogPostRepository.class differ diff --git a/target/classes/com/example/demo/repository/UserRepository.class b/target/classes/com/example/demo/repository/UserRepository.class index 487ee52cd..38304f6cc 100644 Binary files a/target/classes/com/example/demo/repository/UserRepository.class and b/target/classes/com/example/demo/repository/UserRepository.class differ diff --git a/target/classes/com/example/demo/service/UserService.class b/target/classes/com/example/demo/service/UserService.class index 1fcbf00cf..9104aaae4 100644 Binary files a/target/classes/com/example/demo/service/UserService.class and b/target/classes/com/example/demo/service/UserService.class differ