• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

안녕하세요

23.01.23 00:05 작성 조회수 4.76k

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

1. 준영속 상태가 되면 영속성 컨텍스트의 1차 캐시에는 존재하지 않고 DB에만 존재하는 걸로 이해했는데 맞을까요?

 

 

2. @Entity 어노테이션을 붙여주면 엔티티 팩토리가 그 클래스를 관리하게 되는게 맞는지, 그렇다면 DB 연결을 안하고 먼저 @Entity 를 통해 테이블을 생성한 후, 마지막에 DB 연결을 해주어도 문제가 없는 것인지 궁금합니다.

 

 

3. H2 데이터베이스를 localhost 가 아닌 도메인 주소(?) 로 접속하면 다른 PC의 사용자들도 DB 관리를 같이 할 수 있는 건가요?

 

 

4. @ManyToOne 은 @JoinColumn 과 같이 쓰고, @OneToMany 는 MappedBy 랑 같이 쓴다고 이해해도 괜찮을까요?

답변 1

답변을 작성해보세요.

1

안녕하세요. GoodtoCU님

1. 준영속 상태가 되면 영속성 컨텍스트의 1차 캐시에는 존재하지 않고 DB에만 존재하는 걸로 이해했는데 맞을까요?

네 거의 맞다고 보시면 됩니다. 참고로 데이터를 영속화 한 직후에 바로 준영속 상태를 만들면 DB에 없을 수도 있습니다.

 

2. @Entity 어노테이션을 붙여주면 엔티티 팩토리가 그 클래스를 관리하게 되는게 맞는지, 그렇다면 DB 연결을 안하고 먼저 @Entity 를 통해 테이블을 생성한 후, 마지막에 DB 연결을 해주어도 문제가 없는 것인지 궁금합니다.

엔티티 팩토리를 시작하는 처음부터 DB가 연결이 되고 관리됩니다. 그리고 엔티티 팩토리에서 관리하는 엔티티도 지정됩니다.

 

3. H2 데이터베이스를 localhost 가 아닌 도메인 주소(?) 로 접속하면 다른 PC의 사용자들도 DB 관리를 같이 할 수 있는 건가요?

네 맞습니다. H2 데이터베이스도 실제 데이터베이스처럼 서버 모드로 동작 가능합니다. 다만 성능이 좋지는 않기 때문에 운영 서비스에서 사용은 권장하지 않습니다.

 

4. @ManyToOne 은 @JoinColumn 과 같이 쓰고, @OneToMany 는 MappedBy 랑 같이 쓴다고 이해해도 괜찮을까요?

이 부분은 강의에서 설명하는 해당 부분을 다시 복습해주세요.

감사합니다.

작성자님의 프로필

작성자

질문자

2023.01.29

감사합니다!