월 24,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
상속관계 설정시, Getter & Setter 설정
해당 강의에서는 Lombok을 사용하지 않지만, 실습중에 lombok을 추가하여 @Getter, @Setter를 사용하여 자동으로 메서드를 생성해 주었습니다. 그런데 상속 받은 자식 클래스에서 부모 클래스의 필드에 접근은 가능하지만, 서버를 돌리면 부모 클래스 필드를 인식하지 못한다는 오류가 나옵니다. Item.java@Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn @Getter @Setter public abstract class Item { @Id @GeneratedValue @Column(name = "ITEM_ID") private Long id; private String name; private int price; private int stockQuantity; @ManyToMany(mappedBy = "items") private List<Category> categories = new ArrayList<>(); } Book.javapackage jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.Entity; @Entity @Getter @Setter public class Book extends Item{ private String author; private String isbn; } JpaMain.javaBook book = new Book(); book.setPrice(15000); book.setName("JPA"); book.setAuthor("USERA"); main 함수를 build하면 아래와 같은 오류가 뜹니다. 해당 오류에 대한 원인과 해결 방안이 궁금합니다.src\main\java\jpabook\jpashop\JpaMain.java:25: error: cannot find symbol book.setPrice(15000); ^ symbol: method setPrice(int) location: variable book of type Book
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
일대다 다대일 최적화 질문하기
안녕하세요 모든 강의를 수강중인 학생입니다.다대다 관계를 사용하지 않아서 일대다 다대일로 풀어내는데이때 조회에서 최적화를 하려면 A(1) <-> B(다) <-> C(1) 조건 상황은 A가 C에 있는 name 값을 알고 싶어합니다.인경우에 A에 default_batch_fetch_size를 적용하여 B의 컬렉션을 가져왔습니다.그 후 B에서 다시 C에 있는 name라는 필드값을 사용해야하는데 그렇다면 다시 fetch join을 하나요...?그렇게되면 다시 조회하는 느낌이 나서 고민이 되네요.... A->B까지만 default_batch_fetch_size 한뒤 혹은 지연로딩으로 가져오나요...?(이건 쿼리가 다:1 수 만큼 나가네요) 또한 기준 테이블을 B로 바꾸자니 A를 조회하는 것이 메인이여서 가독성 측면에서 떨어지고 구조가 망가지는 느낌이 들어 현업에서는 어떤지 질문남깁니다! 감사합니다 🙂
- 해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
단방향 연관관계 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요, 단/양방향 연관관계에 대해서 질문드립니다.강사님께서 초반 설계시에는 단방향으로 연관관계 매핑을 최대한 끝내야 한다고 하셨습니다. 그리고, 비즈니스 로직상 양방향 매핑이 필요할 때에는 양방향을 추가하면 된다고 하셨는데요, 설계할 때 그러한 기준에 대해 강의 내용만으로는 아직 감이 잘 안잡히는 것 같습니다. 저같은 경우 연관된 객체 조회가 간편하다는 이유로 생각없이 양방향부터 걸어두었는데, 성능 이슈나 객체 탐색의 편의성간 트레이드 오프에 대해서 생각을 하지 못했던 것이 큰 것 같습니다.혹시 단방향 -> 양방향으로 갈 때 고려해야 할 나름의 기준에 대해서 인사이트를 주실 수 있는지요 ??
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
다대다 양방향관계를 풀어낼 때
회원 A테이블과 팀C 테이블의 다대다 양방향 관계를 풀기 위해 중간 테이블을 도입하여 A, B(중간테이블), C 와 같이 일대다/다대일 관계로 풀어낼 때 A와 C 양 쪽 모두 addTemMember와 같은 메소드를 만들어주고, 회원이 팀에 들어갈 때 A.addTeamMember와 C.addTeamMember()둘 다 호출해줘야 하는 게 맞나요? 다대다 양방향 관계를 풀 때 중간 테이블을 설정하는데 이것은 따로 외부에 노출할 필요 없이, 내부적으로 회원 A가 어떤 팀에 속해있는지, 팀C에 어떤 회원이 속해있는지 확인할 때만 사용하는 것이 맞나요?
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
수업 질문사항입니다
질문1중간테이블을 사용하는 이유가 상품 가격이나 다른 속성이추가될 경우 추가 정보를 저장할 곳이 없어 양쪽에 추가해야 하는경우도 생길수 있어서 사용 하는 걸로 이해하면 될까요?질문2OrderItem 클래스는 주문과 상품 간의 관계를 나타내며, 각각의 주문 상품 항목이 어떤 상품에 속하고 어떤 주문에 속하는지를 기록하고 있는지 하나의 주문에 여러 상품이 들어갈 수 있고, 각 상품이 여러 주문에 속할 수 있게 되는 걸로 이해하면 되는 건가요??질문3같은 엔티티에서 부모-자식 관계를 나타내는 이유를 정확히 알고 싶습니다.이해가 잘안되요 ㅠㅠ
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
join 질문입니다.
public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try { Team team = new Team(); team.setName("팀A"); em.persist(team); Member member = new Member(); member.setUsername("member1"); member.setAge(50); em.persist(member); em.flush(); em.clear(); System.out.println("f??"); String query = "select m From Team t join t.members m"; List<Team> result = em.createQuery(query, Team.class) .getResultList(); System.out.println("result.size() = " + result.size()); System.out.println("뭐고"); tx.commit(); } catch (Exception e) { tx.rollback(); } finally { em.close(); } emf.close(); }위 코드에서 String query가 select m 혹은 select m,t 때는 아예 콘솔에 select가 뜨지않습니다. select t일때만 정상적으로 콘솔에 select쿼리가 나옵니다. 왜그런걸까요?=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
스프링 cascade 활용도 측면에서 궁금한 것이 있습니다. 영한님
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.cascadeType.all! 일단 저장할때 자식 객체를 다 담은 후 이후 부모 를 repository.save(부모) 하면 자식도 함께 저장되는 것을 강의 내용을 통해서 확인했습니다. 그러면 혹시 이 과정에 대해서는 어떻게 생각하시나요 Program program = programRepository.findById(reviewSaveDto.getProgramId()) .orElseThrow(() -> new NotFoundException(ErrorCode.PROGRAM_NOT_FOUND)); Review review = Review.builder() .content(reviewSaveDto.getContents()) .user(user) .program(program) .rating(reviewSaveDto.getRating()) .genre(usersFirstGenre.getName()) .build(); program.addReview(review); 보시면 program 을 리포지토리에서 찾아와서 Review 를 직접 생성한 후 addReview(review) 를 통해서 저장합니다. @OneToMany(mappedBy = "program", cascade = CascadeType.ALL, orphanRemoval = true) private List<Review> reviewList = new ArrayList<>(); public void addReview(Review review) { this.reviewList.add(review); 당연히 cascade가 발라져있고요!. 이러면 코드는 정상동작합니다. 저는 뭔가 ReviewRepository에서 program 세팅하고 이러는 것 보다 위 방법이 더 뭐랄까 직관적이다?(프로그램.addReview가 직관적이라는 느낌) 이라서 이 것을 애용했는데 성능 상의 문제점이라던가 이런게 있을지 궁금합니다. addReview 를 한다고 바로 저장되지 않고 트랜잭션이 끝날때 변경 감지를 통해서 실행되는것 같은데(뇌피셜입니다) . 이렇게 해도 괜찮을지 궁금해요!!! 영한님!!!
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
벌크연산관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요?벌크연산에서 정의가 헷갈려서 질문드립니다.[1] pk를 지정한뒤 jpql query문에서 insert, update, delete를 하면 이것은 벌크연산이 아니고 영속성컨텍스트의 영향을 받고, [2] pk를 지정하지 않고 한꺼번에 insert(hibernate),update,delete을 하게 되면 영속성컨텍스트와 상관없이 db와 상호작용하며 이것을 벌크연산이라고 한다.[1],[2]가 제가 제대로 이해하고 있는것이 맞을까요?
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
ex1-hello-jpa-start 실행 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]ex1-hello-jpa-start 자료 다운받고, h2 실행한 뒤, JpaMain.java를 실행할때 다음 오류가 떴습니다.
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
select문도 쓰기 지연에 포함인가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 이전에 질문 남겼는데 좀 대충 작성했더니 질문이 이해 안간다고 하셔서..(ㅠㅠ) 다시 자세하게 작성합니다!질문 : em.find() 하면 select문이 나가잖아요? 이런 경우엔 쓰기 지연이 발생하는게 아닌 것 같다고 생각했는데 맞나요? (동일 트랜잭션 상에서 persist(insert)한 적이 없고, DB에 존재하는 엔티티를 조회한다는 전제입니다.)그렇게 생각한 근거는 1. 이름이 '쓰기' 지연이다. 2. find()한 후에 다음 줄에서 조회한 엔티티를 출력해보면 결과가 나온다.사소한 궁금증인데, 찾아봐도 안나오기도 하고, 강의에서는 update, insert, delete 시 쓰기지연이 발생한다' 라고만 언급하셔서 질문 남깁니다!
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
하이버네이트가 실행되는 오류가 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강사님 항상 좋은 강의 잘 보고 있습니다.다름이 아니라, 이번에 강좌에서 프로젝트를 새로 생성하고 테이블을 생성하는 과정에서 다음과 같은 오류가 발생하면서 테이블이 생성되지 않는데 어떤 원인이 때문인 그런 건가요??
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
persist 수행시 덮어 씌워져 버리는 문제
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네[질문 내용]영한님 강의에서는 위와 같이 두 행의 데이터가 잘 조회되는데, 2024 버전으로 설치한게 잘못인건지 두번 쿼리를 날렸는데 이전 행에 덮어 씌워져 버리는 현상이 있습니다... 이유가 뭔지 모르겠네요 혹시 아시는분 답변 부탁드려요
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관 관계 주인을 설정해야 하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 멤버 객체, 팀 객체 둘 중 하나로 MEMBER 테이블의 외래키를 관리해야 한다는 부분이 깔끔하게 이해가 가지 않아서 질문 드립니다.제가 이해한 내용이 맞는지 확인 부탁드리겠습니다. 결국에 멤버 객체와 팀 객체가 서로를 호출하거나 업데이트하는데 사용하는 테이블은 멤버 테이블과 팀 테이블의 조인으로 생긴 하나의 테이블인데, 하나의 테이블이 2개의 객체와 매핑된다면 문제가 발생한다.(팀 객체가 갱신한 내용이 멤버 객체에 반영되지 않는 등의 문제)그렇기 때문에 연관관계의 주인을 설정하여 한 객체만 실제로 테이블과 매핑하고 나머지 하나는 매핑된 객체로 부터 미러링된 내용을 사용(읽기 전용)한다. 이렇게 이해하는게 맞는 걸까요?
- 해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
Movie 엔티티 조회 시 실행되는 SQL Query가 강의 영상과 상이한 이슈에 대한 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 고급 매핑 - 상속관계 매핑 강의 영상 16:15 부분에서 Movie 엔티티 조회 코드 실행 결과로 출력되는 SQL Query와 저의 프로젝트의 코드 실행 결과로 출력되는 SQL Query가 상이하여 질문드립니다. 우선 프로젝트 생성은 2024 최신 버전으로 프로젝트 설정하기 문서를 참고해서 진행하였으며, 아래와 같이 작성한 코드 일부와 실행 결과로 출력되는 SQL Query를 첨부드립니다.Movie findMovie = em.find(Movie.class, movie.getId());select m1_0.id, m1_1.name, m1_1.price, m1_0.actor, m1_0.director from Movie m1_0 join Item m1_1 on m1_0.id=m1_1.id where m1_0.id=?위와 같이 강의 영상처럼 SELECT문의 형태가 MOVIE 테이블과 ITEM 테이블의 INNER JOIN이 아닌 INNER JOIN을 직관적(?)으로 나타내고 있지 않는데요. 한가지 예상되는 건 2024년도 기준 프로젝트 생성 시 하이버네이트, H2 DB 버전이 강의 내용에서 다루는 버전들보다 업그레이드 되어 동작 방식이 달라져서 그런게 아닐까 생각이 듭니다. 이 부분이 맞다면 만약, 강의와 동일한 SQL Query를 출력해 보고 싶다면 프로젝트에서 사용중인 라이브러리 버전들을 다운그레이드하는 방법밖에는 없을까요?<!-- TODO s:pom.xml 코드 일부 --> <properties> <maven.compiler.source>21</maven.compiler.source> <maven.compiler.target>21</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- JPA 하이버네이트 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>6.4.2.Final</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> <!-- H2 데이터베이스 --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>2.2.224</version> </dependency> </dependencies> <!-- TODO e:pom.xml 코드 일부 -->
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
select문 지연 여부
근데여 JPA가 쓰기 지연 기능을 지원해서 commit 시에 flush되어 db에 반영되고, commit 되는거라고 하셨잖아요?근데 이름이 '쓰기 지연'이고,,, find 한 다음에 바로 다음줄에서 엔티티 조회하면 되는거 보니까 select문(읽기)은 지연되지 않고 바로 날라가는 것 같은데 맞나여?
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
데이터베이스 연동 오류
기존 강의 1편에서 들었던 데이터베이스 파일 전부 삭제하고 다시 처음부터 만들어서 해볼려고하는데 이런 에러가 떠서 어떤식으로 해야하나요
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
persistence오류.. 도와주세요
왜 참조를 못 하는지 모르겠습니다...
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
일대다 단방향 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.왼쪽과 같이 코드를 작성하여 team.getMembers().add(member);을 수행하면 MEMBER 테이블의 TEAM_ID(FK)가 업데이트가 된다고 말씀하셨습니다.아래와 같이 @OneToMany, @JoinColumn 어노테이션을 사용하면 Team 객체에 members의 객체가 추가될 때 마다 JPA가 자동으로 테이블의 FK를 수정하고 업데이트를 해준다는 것으로 이해를 하면 되는건가요? 설명 부탁드립니다 !
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
순수 객체 상태를 고려해서 항상 양쪽에 값을 설정하자 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강의 자료에서는 순수 객체 상태를 고려해서 항상 양쪽에 값을 설정하자고 말씀하셨습니다.그래서 저는 "member1의 객체의 필드 중 team을 TeamA로 값을 설정해줘야 하고, TeamA 객체의 필드 중 member에도 member1으로 값을 설정해줘야 한다"라고 이해를 했습니다.하지만, 강의를 진행하시면서 위와 같이 코드를 작성하시면서"둘 중에 한 곳에서만 값을 설정하면 된다"라고 말씀하셨는데 이 부분이 잘 이해가 안됩니다.member 클래스에도 team 필드가 존재하고, team 클래스에도 member 필드가 존재하는데 둘 중 한곳에서만 값을 설정하면 왜 가능한건가요?? 그리고 위에서 작성하신 addMember 메소드 안의 this가 가르키는게 자기 자신의 클래스(team)를 의미하는게 맞나요? 설명 부탁드립니다 !
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
add를 넣지 않았을 때 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.해당 코드에서 list members에 아무런 값이 들어가지 않는 이유가 영속성 컨택스트에만 값이 들어가 있고 DB에는 아직 값이 들어가 있지 않는 상태이기 때문인가요?이 부분이 잘 이해가 안되네요 설명 부탁드립니다.