해결된 질문
작성
·
208
1
안녕하세요. 최태현님 오늘자로 해당 강의 다 수강완료하였습니다. 먼저 좋은 강의 제공해주셔서 감사하다는 말씀 드립니다.
작은 질문을 하나 드리고자 하는데요. 강의 내용과는 다소 무관한 질문입니다.
20강. 코틀린의 scope function 강의 중 11:25에 나오는 코드인데요.
val person = personRepository.save(Person("최태현", 100))
찾아보니 이러한 방식으로 Repository
를 통해 저장한 인스턴스를 받아와 쓰는 형태의 코드를 꽤 작성하시는 거 같습니다.
다만 제가 의문인 것은 만약 JPA를 사용한다고 한다면 엔티티 매니저에 의해 영속화된 Person("최태현", 100)
엔티티나 personRepository.save()
를 통해 반환된 엔티티나 완전히 동일한 객체일탠데 왜 굳이 이렇게 코드가 작성되는지 궁금합니다. 🙂
val person = Person("최태현", 100)
val person2 = personRepository.save(person)
println(person.equals(person2)) // true
person
이나 person2
나 엔티티 매니저에 의해 같은 객체일 것 같은데 말이죠. 한 줄로 간결한 코드를 만들기 위함일까요?
너무 강의와 무관한 질문이라 결례를 범하는지는 모르겠습니다만 최태현님의 의견이 궁금하여 질문 남깁니다. 감사합니다.
답변 1
1
안녕하세요, 경호님! 🙂 질문 주셔서 감사합니다.
질문 주신 내용이 아래와 같을까요?!
[아래]
우리가 Person
이라는 클래스를 만들어 DB에 저장하려 하는데,
val person = Person("최태현", 100)
personRepository.save(person)
로 할 수도 있고
val person = personRepository.save(Person("최태현", 100))
이라 할 수도 있는데 후자의 코드를 사용하는 이유는 무엇인가?!
이 질문에 대해 답변드려보면, 특별한 이유가 있지는 않습니다! 단순히 한 줄로 줄였다 라고 봐주셔도 될 것 같아요! 🙂 답변이 도움이 되었으면 좋겠습니다. 감사합니다! 🙏
정확히 의도를 파악해주셨습니다. ㅎㅎㅎ 별 거 아닌 질문에 답변 잘 해주셔서 너무 감사합니다. 좋은 일만 가득 하십쇼!