From 60390b4ad1eeebfc1a4aecce172406aa2b1ba651 Mon Sep 17 00:00:00 2001 From: Shariq Shaikh Date: Wed, 24 Aug 2022 15:27:00 +0500 Subject: [PATCH 1/3] Update StudentDto.java --- .../src/main/java/com/asb/example/dto/StudentDto.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/jpa-many-to-many-example/src/main/java/com/asb/example/dto/StudentDto.java b/jpa-many-to-many-example/src/main/java/com/asb/example/dto/StudentDto.java index 0420e4e..7880f98 100644 --- a/jpa-many-to-many-example/src/main/java/com/asb/example/dto/StudentDto.java +++ b/jpa-many-to-many-example/src/main/java/com/asb/example/dto/StudentDto.java @@ -2,12 +2,9 @@ import java.util.HashSet; import java.util.Set; +import lombok.Data; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter +@Data public class StudentDto { private Integer id; private String name; From 927802cdab73df62ab2b6bcb480f725f189ea6ac Mon Sep 17 00:00:00 2001 From: Shariq Shaikh Date: Wed, 24 Aug 2022 15:46:16 +0500 Subject: [PATCH 2/3] Update CourseServiceImpl.java --- .../example/service/CourseServiceImpl.java | 59 ++++++++++--------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/jpa-many-to-many-example/src/main/java/com/asb/example/service/CourseServiceImpl.java b/jpa-many-to-many-example/src/main/java/com/asb/example/service/CourseServiceImpl.java index 82c2f27..d5e3522 100644 --- a/jpa-many-to-many-example/src/main/java/com/asb/example/service/CourseServiceImpl.java +++ b/jpa-many-to-many-example/src/main/java/com/asb/example/service/CourseServiceImpl.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; +import org.modelmapper.ModelMapper; import javax.annotation.Resource; @@ -29,10 +30,13 @@ public class CourseServiceImpl implements CourseService { @Transactional @Override public CourseDto addCourse(CourseDto courseDto) { - Course course = new Course(); - mapDtoToEntity(courseDto, course); - Course savedCourse = courseRepository.save(course); - return mapEntityToDto(savedCourse); + ModelMapper modelMapper=new ModelMapper(); + //Course course = new Course(); + //mapDtoToEntity(courseDto, course); + Course savedCourse=modelMapper.map(courseDto,Course.class); + courseRepository.save(savedCourse); + return modelMapper.map(savedCourse,CourseDto.class); + //mapEntityToDto(savedCourse); } @Override @@ -40,7 +44,8 @@ public List getAllCourses() { List courseDtos = new ArrayList<>(); List courses = courseRepository.findAll(); courses.stream().forEach(course -> { - CourseDto courseDto = mapEntityToDto(course); + CourseDto courseDto =modelMapper.map(course,CourseDto.class); + //mapEntityToDto(course); courseDtos.add(courseDto); }); return courseDtos; @@ -69,27 +74,27 @@ public String deleteCourse(Integer id) { return null; } - private void mapDtoToEntity(CourseDto courseDto, Course course) { - course.setName(courseDto.getName()); - if (null == course.getStudents()) { - course.setStudents(new HashSet<>()); - } - courseDto.getStudents().stream().forEach(studentName -> { - Student student = studentRepository.findByName(studentName); - if (null == student) { - student = new Student(); - student.setCourses(new HashSet<>()); - } - student.setName(studentName); - student.addCourse(course); - }); - } +// private void mapDtoToEntity(CourseDto courseDto, Course course) { +// course.setName(courseDto.getName()); +// if (null == course.getStudents()) { +// course.setStudents(new HashSet<>()); +// } +// courseDto.getStudents().stream().forEach(studentName -> { +// Student student = studentRepository.findByName(studentName); +// if (null == student) { +// student = new Student(); +// student.setCourses(new HashSet<>()); +// } +// student.setName(studentName); +// student.addCourse(course); +// }); +// } - private CourseDto mapEntityToDto(Course course) { - CourseDto responseDto = new CourseDto(); - responseDto.setName(course.getName()); - responseDto.setId(course.getId()); - responseDto.setStudents(course.getStudents().stream().map(Student::getName).collect(Collectors.toSet())); - return responseDto; - } +// private CourseDto mapEntityToDto(Course course) { +// CourseDto responseDto = new CourseDto(); +// responseDto.setName(course.getName()); +// responseDto.setId(course.getId()); +// responseDto.setStudents(course.getStudents().stream().map(Student::getName).collect(Collectors.toSet())); +// return responseDto; +// } } From 83c16eefe2b8c05b07c845ddb75185d4ededb964 Mon Sep 17 00:00:00 2001 From: Shariq Shaikh Date: Wed, 24 Aug 2022 15:46:35 +0500 Subject: [PATCH 3/3] Update CourseServiceImpl.java --- .../main/java/com/asb/example/service/CourseServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jpa-many-to-many-example/src/main/java/com/asb/example/service/CourseServiceImpl.java b/jpa-many-to-many-example/src/main/java/com/asb/example/service/CourseServiceImpl.java index d5e3522..abfdfea 100644 --- a/jpa-many-to-many-example/src/main/java/com/asb/example/service/CourseServiceImpl.java +++ b/jpa-many-to-many-example/src/main/java/com/asb/example/service/CourseServiceImpl.java @@ -83,7 +83,7 @@ public String deleteCourse(Integer id) { // Student student = studentRepository.findByName(studentName); // if (null == student) { // student = new Student(); -// student.setCourses(new HashSet<>()); +// student.setCourses(nfew HashSet<>()); // } // student.setName(studentName); // student.addCourse(course);