4 lab fix
This commit is contained in:
parent
6a071071e2
commit
eecfe393e4
@ -26,7 +26,7 @@ public class Post {
|
||||
@ManyToOne(fetch = FetchType.EAGER,cascade = CascadeType.MERGE)
|
||||
private User user;
|
||||
|
||||
@OneToMany(mappedBy = "post",fetch = FetchType.EAGER,cascade = CascadeType.MERGE)
|
||||
@OneToMany(mappedBy = "post",fetch = FetchType.EAGER,cascade = CascadeType.ALL,orphanRemoval = true)
|
||||
private List<Comment> comments=new ArrayList<>();
|
||||
|
||||
public Post(){}
|
||||
|
@ -4,11 +4,13 @@ import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import ru.ulstu.is.sbapp.Comment.model.Comment;
|
||||
import ru.ulstu.is.sbapp.Comment.repository.CommentRepository;
|
||||
import ru.ulstu.is.sbapp.Post.model.Post;
|
||||
import ru.ulstu.is.sbapp.Post.repository.PostRepository;
|
||||
import ru.ulstu.is.sbapp.User.model.User;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public class UserRepositoryImpl implements UserRepositoryExtension {
|
||||
@ -31,6 +33,15 @@ public class UserRepositoryImpl implements UserRepositoryExtension {
|
||||
em.createQuery("Delete from Comment Where user.id = :id")
|
||||
.setParameter("id",id)
|
||||
.executeUpdate();
|
||||
List<Post> posts = em.createQuery("Select p from Post p where user.id = :id",Post.class)
|
||||
.setParameter("id",id)
|
||||
.getResultList();
|
||||
for(var post : posts)
|
||||
{
|
||||
em.createQuery("Delete from Comment where post.id = :postId")
|
||||
.setParameter("postId",post.getId())
|
||||
.executeUpdate();
|
||||
}
|
||||
em.createQuery("Delete from Post Where user.id = :id")
|
||||
.setParameter("id",id)
|
||||
.executeUpdate();
|
||||
|
@ -69,13 +69,24 @@ public class JpaClientTests {
|
||||
log.info("testUserReadAllEmpty: " + users.toString());
|
||||
Assertions.assertEquals(users.size(), 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testDeletePostwithcomments()
|
||||
{
|
||||
final User user = userService.addUser("Pasha","Sorokin","sorokin.zxcv@gmail.com");
|
||||
final User user12 = userService.addUser("Anton","Sorokin","zxcv@gmail.com");
|
||||
userService.addNewPost(user.getId(),"text","tezt");
|
||||
final List<Post> post = postService.findAllPosts();
|
||||
final Post post1 = post.get(0);
|
||||
postService.addCommentToPost(post1.getId(),user12.getId(),"Da");
|
||||
userService.deleteUser(user.getId());
|
||||
}
|
||||
@Test
|
||||
void testAddAndDeletePost()
|
||||
{
|
||||
postService.deleteAllPosts();
|
||||
userService.deleteAllUsers();
|
||||
final User user = userService.addUser("Pasha","Sorokin","sorokin.zxcv@gmail.com");
|
||||
final User user12 = userService.addUser("Anton","Sorokin","zxcv@gmail.com");
|
||||
userService.addNewPost(user.getId(),"Text1","Text2"); //post
|
||||
userService.addNewPost(user.getId(),"Привет","Да"); //post1
|
||||
final List<Post> posts =postService.findAllPosts();
|
||||
|
Loading…
x
Reference in New Issue
Block a user