학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 로거 만들기에서 로거 클래스 생성할때 abstract 키워드를 추가해서 추상 클래스로 만들었는데, 그 이유가 클래스 내에 static 메서드만 있으니, 굳이 인스턴스로 만들 필요가 없어서 그런건가요?? 그러면 추상 클래스 말고, 일반 클래스로 만들고 기본 생성자를 private으로 해서 인스턴스화 하지 못하도록 하는 건 어떤가요?
문제) DataClient 에서 Hibernate 의 ConstraintViolationException 이 DataAccessException 으로 던져지지 않았습니다. (발생한 예외 - 예상한 기댓값이 아님) Exception in thread "main" org.hibernate.exception.ConstraintViolationException: could not execute statement [Unique index or primary key violation: "PUBLIC.UK43EGXXCIQR9NCGMXBDX2AVI8N_INDEX_8 ON PUBLIC.ORDERS(NO NULLS FIRST) VALUES ( /* 1 */ '100' )"; SQL statement: 원인) Order Object 에서 @GeneratedValue 의 strategy 를 IDENTITY 로 작성해서 발생한 문제였습니다. @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; (변경된 예외 - 예상 기댓값으로 동작 성공) Exception in thread "main" org.springframework.dao.DataIntegrityViolationException: could not execute statement [Unique index or primary key violation: "PUBLIC.UK43EGXXCIQR9NCGMXBDX2AVI8N_INDEX_8 ON PUBLIC.ORDERS(NO NULLS FIRST) VALUES ( /* 1 */ '100' )"; SQL statement: 질문사항) 안녕하세요 토비님. 위에 작성된 문제점을 발견했고 해결했음에도 JPA를 학습해보지 않아서 그런지.. 위 문제가 발생한 이유를 모르겠습니다. 대충 생각하기에는 IDENTITY strategy가 DB로 권한을 넘기기 때문에 EntityManager 의 영속성 컨텍스트에서 발생한 문제점이 아니라서 DataAccessException Layer에서 관리하지 못하는 것인가..? 라는 생각은 드는데 혹시 맞을까요? 비슷한 상황을 만들어보려고 IDENTITY strategy를 설정하지 않고 OrderRepository 에서 flush 를 해본 결과, 예상대로 ConstraintViolationException 가 뜨긴 하는데 ID가 null 이라서 DB에서 직접 접근 후 저장하는 작업을 한 번 해서 그럴까요?
package nested.local; import java.lang.reflect.Field; public class LocalOuterV3 { private int outInstanceVar = 3; public Printer process(int paramVar) { int localVar = 1; //지역 변수는 스택 프레임이 종료되는 순간 함께 제거된다. class LocalPrinter implements Printer{ int value = 0; @Override public void print() { System.out.println("value = " + value); //인스턴스는 지역 변수보다 더 오래 살아남는다. System.out.println("localVar = " + localVar); System.out.println("paramVar = " + paramVar); System.out.println("outInstanceVar = " + outInstanceVar); } } LocalPrinter printer = new LocalPrinter(); //printer.print();를 여기서 실행하지 않고 Printer 인스턴스만 반환한다. return printer; } public static void main(String[] args) { LocalOuterV3 localOuter = new LocalOuterV3(); Printer printer = localOuter.process(2); //printer.print()를 나중에 실행한다. process()의 스택 프레임이 사라진 이후에 실행 printer.print(); //추가 System.out.println("필드 확인"); Field[] fields = printer.getClass().getDeclaredFields(); for (Field field : fields) { System.out.println("field = " + field); } } } 안녕하세요 이 부분에서 막혀서 이 강의만 3번째 듣는데도 이해가 안가서 기본편의 섹션 7 자바 메모리 구조와 static쪽을 다시 보고 오려는데 그것 말고 위의 코드를 이해하는데 더 필요한 내용이 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 엔티티에 Getter와 Setter를 넣어주는 이유가 궁금합니다. 엔티티를 짤 때 다대다 관계를 넣으면 안되는 이유가 궁금합니다 3.
16:17 print('Combined ~', ~); 에서 %.5lf 가 궁금합니다. 일단 %.5f 라면 소수점 다섯번째자리 표시하는 건데, 이때 반올림을 하는 건가요? 그리고 %.5f 사이에 있는 'l'의 의미를 모르겠습니다. 18:11 float fnum = 3.14f; 라고 되어있는데 3.14 뒤에 붙은 f는 오타일까요? 아니면 다른 뜻이 있는 건가요? 출력 결과를 보면 f는 없는 글자처럼 사용된 것 같아 여쭤봅니다.
안녕하세요, 비교연산자와 반복문+조건문 문제풀이에서 15:33 부분 질문이 있습니다.보면 b%2==0은 짝수일 때 sum=sum+b이고 홀수일 때는 sum=sum-b로 이해하면 될까요?그리고 해당 계산식이 끝나고 a++로 되있는데 제가 알기로는 a++이면 나중에 증가로 알고있는데 a는 나중에 1증가인가요 아니면조건식이 끝나고 b에 2증가하는 것처럼 바로 1증가시키면 되는건가요?
영속성 컨텍스트는 서버 인스턴스 내부의 트랜잭션 기준말고 별도의 추가 기준이 있나요? 현재 진행 중인 프로젝트에서 프론트는 리액트로 진행 중인데 리액트로 호출하면 수정하기 이전의 쿼리로 조회한 데이터가 여전히 조회됩니다. 그런데 해당 페이지에서 개발자 도구를 켜서 fetch 메소드로 조회하거나 포스트맨으로 조회하면 새로운 버전의 쿼리로 조회한 데이터가 조회됩니다. 혹시 결과가 다른 이유가 있을까요? 그리고 서버가 재시작됬는데도 데이터가 똑같은 이유가 있을까요? 배포는 도커랑 깃랩 러너로 하고 있습니다.
강의자료를 기반으로 코드를 작성하여 왔는데, 실행하는 것에는 문제는 없으나, 회원 목록 조회 기능에서 whitelabel error page가 발생하였습니다. 어떻게 해야하나요? github 저장소: https://github.com/devcjw/Spring-Boot-Study
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. Order status 는 enum으로 만들었는데 이게 왜 그런건지 까먹었어요 스프링 기본에서 썼었던거 같은데…
정적변수, 정적메서드 5:03초에서 정적 메서드는 정적변수에만 접근 가능하다고 했습니다. 그런데 person p1 = new person()에서 public person()으로 먼저 접근하고 public static in popultation = 0으로 가는데, public person()은 인스턴스 메서드가 아닌가요? 어떻게 이런 절차로 접근이 되는건지 궁금합니다. 반면에 8:20에 나오는 예문에는 Counter.increment() 실행하면 public static void increment() (static메소드죠)로 가서 count++이 실행되고 privat static in count = 1로 반영이 됩니다. 질문의 요지는 static은 static만 참조 가능하다고 말씀하셨는데, 어떻게 첫번째 경우처럼 실행이 가능한가입니다.
[질문 내용] @Column 소개중에 precision 속성은 소수점을 포함한 자릿수라고 소개되어있습니다. 그렇다면 멤버 엔티티에 precison = 10, scale = 2로 설정을 주고, 멤버 엔티티의 BigDecimal 값을 소수점을 포함한 11자리("11111111.10")를 만들어서 DB에 넣어봤는데, DB에 insert가 되었습니다. 그래서, precision 은 소수점을 포함하지 않은 자릿수 인 것 아닌가 생각이 들어 질문 남깁니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 순서 : 1. 결국 Student라는 클래스에다가 String name , int age, int grade 멤버변수를 넣어놓는다. 2. 다른 클래스에서 데이터 타입형태로 Student로 넣을 수 있다. 3. 이를 불러오기 위해서는 변수가 필요한데 그것이 student1이다. 4. new Student()로 Student의 객체 생성과 동시에 변수 student1에 담아버린다. 5. 그렇게 되면 student1에는 주소(참조값)인 x001이 대입 된다. 6. x001라는 주소에 찾아 들어간다. 7. Student 객체 내에 있던, Student 클래스에서 정의 내렸던 멤버 변수인 String name, int age, int grade를 찾을 수 있게 된다. 헷갈려서 질문 남깁니다. 제가 이해한 바가 맞나요? 혹시 틀린 부분이 있다면 수정 부탁드립니다..