@OneToMany(mappedBy = "parent", fetch = FetchType.LAZY, orphanRemoval = true, cascade = CascadeType.PERSIST ) List<Child> children = new ArrayList<>(); 위에 코드에서 고아객체를 삭제했기 때문에 children.remove(0); 을 하면 첫번째 child가 삭제되어야 하지만 cascade = CascadeType.PERSIST를 제거하면 delete쿼리가 발생하지 않습니다 PERSIST는 영속화될 때 같이 영속화하는 속성으로 알고있는데 제거하면 고아객체 삭제가 왜 되지 않는것인지 궁금합니다. 그리고 mappedBy를 사용한 children은 주인이 아니라서 chindlren.add(child)를 해도 반영이 되지 않는걸로 알고있는데 PERSIST속성을 주면 주인이 아니여도 둘 다 영속화가 되는것인지 궁금합니다.
안녕하세요 멘토님. 항상 좋은 강의 잘 보고 있습니다. HOC와 권한분기 실습 까지 수강을 마치고 궁금한 점이 생겨 질문 드립니다. 페이지로 이동 시 HOC를 먼저 실행하여 로그인을 체크하는 방식은 이해했습니다. 그런데, 간혹 어떤 특정 게시판 사이트에 비로그인 상태에서 댓글 작성을 한다고 가정할 때 인풋창이나 등록 버튼을 누르면 '로그인 후 이용해주세요' 라는 알럿을 띄워주는 경우가 있습니다. (페이지 이동이 아닌 단순 엘리먼트 클릭) 이러한 경우에는 그냥 단순히 인풋이나 등록 버튼 등 엘리먼트를 클릭 했을 때 토큰이 있는지 if 검증을 하는 로직만 넣으면 되는 것인지 궁금합니다. 그리고 댓글 리스트 수정과 같은 상황에서 댓글 리스트에서 댓글 하나를 수정 버튼 눌렀을 때, 비로그인 유저를 감지하여 알럿을 띄워주고 싶은 경우도 궁금합니다. 이런 경우는 보통 이전 수업 때 배웠듯이 map을 사용하여 댓글 수정 컴포넌트를 반복문으로 뿌려주는 형태로 사용을 합니다. 그렇다면 이 댓글 수정 컴포넌트를 export 하는 과정에서 HOC를 씌워주는게 맞는 것인지, 아니면 그냥 또 단순히 수정 버튼 클릭 시 if 검증을 통해 토큰 존재 여부만 파악하면 되는지 궁금합니다. 감사합니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] localhost :8080을 열면 index.html이 열리고 home.html이 연결되지 않습니다. idex.html파일을 제거하고 실행하면 white label error가 뜨는데 어떻게 해결해야 할까요...?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx ) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG ) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] @Configuration public class SpringConfig { private final MemberRepository memberRepository; @Autowired public SpringConfig(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Bean public MemberService memberService() { return new MemberService(memberRepository); } // @Bean // public MemberRepository memberRepository() { // //return new JdbcTemplateMemberRepository(dataSource); // return new JPAMemberRepository(em); // } } SpringConfig() 함수의 memberRepository 인자 부분에서 Could not autowire. No beans of 'MemberRepository' type found. 에러가 발생합니다. 그래서 최종적으로 HelloSpringApplication 을 실행시켜보면 Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2023-03-17T22:02:24.272+09:00 ERROR 20624 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Parameter 0 of constructor in hello.hellospring.SpringConfig required a bean of type 'hello.hellospring.repository.MemberRepository' that could not be found. Action: Consider defining a bean of type 'hello.hellospring.repository.MemberRepository' in your configuration. Process finished with exit code 1 에러가 발생합니다. @Transactional public class MemberService { private MemberRepository memberRepository; public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } /* * 회원 가입 * */ public Long join(Member member) { // 같은 이름이 있는 중복 회원 X validateDuplicateMember(member); memberRepository.save(member); return member.getId(); } private void validateDuplicateMember(Member member) { // 중복 회원 검증 함수 memberRepository.findByName(member.getName()) .ifPresent(m -> { throw new IllegalStateException("이미 존재하는 회원입니다."); }); } /* * 전체 회원 조회 * */ public List<Member> findMembers() { List<Member> all = memberRepository.findAll(); return memberRepository.findAll(); } /* * 특정 회원 조회 * */ public Optional<Member> findOne(Long memberId) { return memberRepository.findById(memberId); } } MemberService 에 있는 애노테이션은 다 제거했는데 왜 오류가 발생하는지 모르겠습니다.
1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 강의 마지막 파트인 상품주문/주문목록 관련하여 오류가 나서 질문 드립니다 (회원,상품은 추가해두고) 주문을 하지 않은 상태에서는 상품주문, 주문목록 페이지 모두 잘 보입니다만 상품주문을 submit하면 Whitelabel Error Page 500가 뜹니다. 에러메시지는 이렇습니다 org.springframework.expression.spel.SpelEvaluationException: EL1025E: The collection has '0' elements, index '0' is invalid 뭔가 orders 페이지나 order 관련 클래스 파일 작성 중 에러가 났나 싶은데 살펴봐도 어느 부분 때문인지 확인이 어렵네요 ㅠㅠ 한번 봐주실 수 있나요? 소스코드 링크 첨부합니다 https://drive.google.com/file/d/1pnvzT9BT1Rycfp36iWD3mLlgFkXp9NtR/view?usp=sharing
모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
강의에서는 select count(*) from board.sys.columns where object_id in(select object_id from sys.objects where type='U') and name like '%jumin%' 이런식으로 컬럼명 기반으로 테이블갯수를 찾는데 만약 여기서 테이블 이나 컬럼 갯수가 2개이상이라면 순차적 레코드 출력을 해야되는데 어떤구문으로 출력해야되나요 ㅜㅜ 감이 안잡햐요 ㅜ
기본적인 개념같아서 구글링도 해봤는데 object 와 object[] 배열간의 형변환에 대한 내용이 안보여서 질문드립니다. 다름이 아니라 Object o = resultList.get(); Object[] result = (Object[])0; 에서 왜 Object 타입에서 Object[] 타입으로 형변환을 해야하는지, 그냥 o[0], o[1] ... 로 쓰면 왜 컴파일 오류가 나는지 궁금합니다. Object 타입에서 어떻게 Object[] 타입으로 형변환이 가능한지 궁금합니다. Obect[] 배열은 Object가 여러개 포함된 배열 아닌가요?.. 아니면 Object 타입이 Object[] 타입까지도 포함한 포괄적인 개념이라 위처럼 형변환이 가능한 건가요? 기본적인 내용같은데 개념이 잘 이해가 안가서 질문드립니다 ㅠㅠ
안녕하세요. 질문이 있습니다. application.properties 파일에서 spring.messages.basename=messages,config.i18n.messages 작성하는 것과 spring.messages.basename=messages 작성하는 것이 같다고 생각해도 될까,, 궁금합니다! spring.messages.basename=messages 같은 경우는 생략되어 있다고 해주셨는데, 'config.i18n.messages' 이 과정이 생략 된거라고 봐도 될까요??
안녕하세요 큰돌님, 저는 선 위에서 bfs를 돌린다 생각하고, 아래와 같이 코드를 썻습니다. 최단 거리는 올바르게 나오는 것 같은데, 개수가 항상 틀리게 나오네요 ㅠㅠ 어디부분에 문제가 생긴지 모르겠습니다,,, http://boj.kr/a7027def8ceb49f88acccd4d15373a37
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. node가 V18.14.2 버젼이고, npm이 9.5.0 버전인데 zsh: killed npx create-react-app ReactTest 라고 뜹니다 ㅠㅠ
선생님께서 알려주신대로 하였고(resultMap) 문제없이 잘 작동하였습니다!~ 오류가 생겨서 질문드리는게 아니오라... 관련된 개념이 궁금해서 질문드려요~! 컨트롤러에서 Member mvo = memberMapper.getMember(m.getMemID()); 이렇게 가져올 때 상황이에요~ ▲위 테이블은 mem_stbl 테이블이고, ▲그 아래 테이블은 mem_auth 테이블이에요~ ▲여기서 이렇게 resultType="kr.board.entity.Member"으로 가져올 수 없는 이유를 잘 모르겠어요 sql 테이블이 매퍼.xml 파일에서 select * from mem_stbl mem LEFT OUTER JOIN mem_auth auth on mem.memID=auth.memID where mem.memID= '질문'; 이렇게 합쳐지고 그 결과 테이블이 이것 인데요~ <▼두서가 길었는데요! 질문의 핵심입니다!▼> Member 클래스의 멤버 변수에 넣지 못하는 이유가 결과 집합의 행이 2개여서 그런 건가요? 그래서 reseltMap을 써주는 것인가요?? 만약 그렇다면 1행으로 만들어준다면(회원 가입 시 체크박스 1개를 선택한다면) resultMap을 사용하지 않고 resultType="kr.board.entity.Member" 로 해줘도 괜찮은 건가요? 부탁드리겠습니다! 아예 잘못 알고 있는 걸까요? ㅠ ------------------ 선생님 강의 최고입니다! 애청자에요 하하하ㅎㅎ
안녕하세요. 선생님 강의 퀴즈 7번을 풀다가 에러가 나서 질문 드립니다. 다형성을 이용해서 클래스를 배열에 담는 과정에서 에러가 발생하는데요. 소스코드를 선생님과 동일하게 쳐도 non-static variable this cannot be referenced from a static context 에러가 뜹니다.. 구글링을 통해 해결해보려고 했으나 각 클래스에 static 을 명시해줘야 한다고 해서 해보니까 스택오버플롤우 에러가 뜨네요 ㅜㅜ