소개
안녕하세요
주니어 백 엔드 서버 개발자 입니다.
게시글
질문&답변
2024.01.03
@RequestMapping 질문드립니다.
안녕하세요저도 궁금해서 찾아보니 아래와 같이 JSP는 GET, POST, HEAD에 대해서만 허용된다는 것을 알 수 있었습니다. 중단점을 찍어서 추적해보니 "JSPServlet" 클래스에서 아래와 같은 오류를 발생시키고 있었습니다. Method Not Allowed HTTP Status 405 - JSPs only permit GET POST or HEAD오류를 검색해보니 다음과 같은 링크를 발견할 수 있었습니다.https://stackoverflow.com/questions/23886941/http-status-405-jsps-only-permit-get-post-or-head 정리하자면, Controller에서 모든 메서드의 요청이 받아지는 것이 맞지만 JSP 페이지를 렌더링하는 과정에서 Method를 검사하고 오류를 반환하는 것입니다. 감사합니다.
- 0
- 2
- 368
질문&답변
2024.01.03
em.detach 메서드와 관련하여 질문드립니다.
안녕하세요저도 궁금해서 직접 테스트 해보니 insert문이 사라지는 건 아니었습니다.(사진)위와 같이 중단점을 찍고 단계별로 확인해 봤을 때1) em.persist() 이후, actionQueue(쓰기 지연 저장소)에 insert 쿼리와 persistenceContext(영속성 컨텍스트)에 entity가 저장된 것을 볼 수 있었습니다.(사진)2) em.detach() 이후, 쓰기 지연 저장소에는 여전히 insert 쿼리가 남아있으나 영속성 컨텍스트에는 entity가 없어진 것을 볼 수 있었습니다.(사진)이후 em.flush()의 동작을 추적해보니 영속성 컨텍스트 안에 관리하고 있는 엔터티의 개수를 확인하는 if문에 걸려 insert 문이 실행되지 않은 것으로 보입니다.(사진)
- 0
- 2
- 420
질문&답변
2024.01.02
생각한대로 실행이 되지 않습니다.
안녕하세요.H2 1.4.200 버전부터는 테이블 삭제 동작이 SQL 표준을 따르도록 변경되었습니다.이전 버전에서는 테이블 삭제에 대하여 제약 조건을 무시하고 삭제하는 방식이었으나 이제는 제약 조건을 고려하지 않으면 실패하게 됩니다.Hibernate 5.3.10 버전은 이 변경에 대응되지 않은 버전이기 때문에 이슈가 발생한 것입니다.따라서 다음 두 가지 방법으로 이슈를 해결할 수 있습니다. H2 1.4.199로 H2 버전을 낮추기Hibernate의 버전을 5.4.13 이상으로 올리기 저는 강의와 맞추기 위해 H2 버전을 낮추는 방법을 추천드립니다.관련 내용으로는 아래 링크를 확인해주세요https://hibernate.atlassian.net/browse/HHH-13711
- 0
- 3
- 322
질문&답변
2023.12.26
실전 예제 1 - 요구사항 분석과 기본 매핑 질문있습니다.
안녕하세요1번 질문에 대해서 이미 충분한 답변해주셨으나 제 경험을 조금 말씀드리자면객체는 여러 메소드를 거쳐서 사용되는 경우가 많은데, Setter와 같이 객체의 상태를 변경하는 메소드가 열려있으면 어디서 이 객체가 변경되었는지 추적하기가 어려워, 유지보수가 힘들어졌던 경우가 있었습니다. 다시 말하면 객체의 불변성(객체가 중간에 값이 바뀌지는 않았는지)이 보장되지 않아 어려움을 겪었었습니다.복잡한 시스템에서 내가 오래전에 작성한 로직이거나, 다른 사람과 협업하여 개발한 경우에 로직 중간에 어디서든 Setter 메소드가 호출되어 값이 변할 수도 있기 때문에 객체의 상태를 예측하기가 어려워집니다. public void doSomething(Member member) { executeSomething(member); performSomething(member); processSomething(member); handleSomething(member); updateSomething(member); calculateSomething(member); generateSomething(member); // 이 시점에서 Member의 필드가 처음과 같다고 보장할 수 없습니다. } 2. IntelliJ의 코드 완성(code completion) 기능으로 ctrl + space(Command + space)로 사용하실 수 있습니다. 만약 코드 문맥에서 타입 정보까지 고려하여 보려면 ctrl + shift + space(Command + shift + space)를 사용하시면 됩니다.4. IntelliJ의 코드 접기(Code folding) 기능으로 ctrl + '-'(Commang + '-') 로 접고 ctrl + '+'(Command + '+')로 펼칠 수 있습니다. 혹은 아래와 같이 버튼으로 접었다 폈다 할 수도 있습니다.(사진)셋팅에서 아래와 같이 메소드 바디가 한 줄일 때 자동으로 접히도록 설정할 수도 있습니다.(사진)
- 0
- 3
- 195
질문&답변
2023.12.26
:단방향 연관관계 질문있습니다.
안녕하세요.말씀하신 강의의 20분 55초에서 발생하지 않는 쿼리는 아래와 같은 멤버를 조회하는 쿼리입니다.select member0_.MEMBER_ID as MEMBER_I1_0_0_, member0_.TEAM_ID as TEAM_ID3_0_0_, member0_.USERNAME as USERNAME2_0_0_, team1_.TEAM_ID as TEAM_ID1_1_1_, team1_.TEAM_NAME as TEAM_NAM2_1_1_ from Member member0_ left outer join Team team1_ on member0_.TEAM_ID=team1_.TEAM_ID where member0_.MEMBER_ID=? 감사합니다.
- 0
- 3
- 184