inflearn logo
Khóa học

Khóa học

Chia sẻ kiến thức

Bài viết của jaden

jaden jaden

@jonghaha7

Số lượng đánh giá đã viết
13
Xếp hạng trung bình
5.0

Bài viết 16

Hỏi & Đáp

양방향 편의 메서드에서 필드에 직접 접근하는 문제

질문에서 유지보수적인 측면에서 필드접근이 아닌 getter 와 setter 를 활용하는게 더 좋다고 생각하시는 이유도 알려주시면 감사하겠습니다! (궁금해서 여쭤봐요)

Lượt thích
0
Số bình luận
2
Lượt xem
615

Hỏi & Đáp

엔티티 클래스 개발 2 질문

2023-08-16 15:16:39.542 ERROR 6060 --- [ main] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements: jpabook.jpashop.domain.Order.member collection 이 아닌 곳에서 @xxxToMany 를 사용하고 있는 것 같습니다. Order 클래스의 member 는 컬렉션이 아니라 연관관계를 @xxxToOne 으로 맺어야 해결될 것 같네요

Lượt thích
0
Số bình luận
3
Lượt xem
762

Hỏi & Đáp

h2 테이블 생성이 안됩니다ㅠㅠ

ddl-auto 옵션 설정확인 후 애플리케이션 재실행 해보시면 해결 될 것 같습니다. ddl-auto 옵션 설정 방법 application.yml 혹은 application.properties // yml 기준 spring: jpa: hibernate: ddl-auto: create

Lượt thích
0
Số bình luận
2
Lượt xem
581

Hỏi & Đáp

멀티 쓰레드와 싱글톤 스레드

답변 감사합니다. 링크를 통해 추측한 내용은 Servlet 은 힙 영역에 저장되어 애플리케이션의 모든 영역에서 접근 가능하고, 각 Thread 들은 Servlet 으로부터 HttpRequest, HttpResponse 정보를 전달받아 stack 영역에 두고 사용함으로써 Thread 사이의 동시성 이슈를 해결할 수 있다고 생각되는데요. HttpRequest 와 HttpResponse 는 Servlet 에서 생성해서 각 Thread 로 전달할 때 동시성 이슈가 생기지는 않나요? 예를들어 다음과 같은 순서로 진행되는 경우입니다. 1번 요청 진입 Servlet 에서 1번 HttpRequest 객체 생성 (Servlet 이 HttpRequest 를 스레드에 전달하기 전) 2번 요청 진입 Servlet 에서 2번 HttpRequest 객체 생성 위와 같은 경우에는 1번 요청은 무시될 수 있을 것 같다는 생각이 들어서요.

Lượt thích
0
Số bình luận
2
Lượt xem
509

Hỏi & Đáp

chunkSize 질문입니다.

chunkSize 가 item 을 나누는 단위가 되는군요 감사합니다 :)

Lượt thích
0
Số bình luận
2
Lượt xem
668

Hỏi & Đáp

FK 를 양쪽에서 관리하는 경우

질문이 명확하지 않았네요 ㅠㅠ 죄송합니다. 16분 30초 쯤 Team 도 연관관계의 주인이되고 Member 도 연관관계의 주인이 되는 상황에서 야기되는 문제들이 궁금합니다. @Entity @NoArgsConstructor @AllArgsConstructor @Builder @Getter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String username; @ManyToOne @JoinColumn(name = "team_id") private Team team; } ---------------- @Entity @Getter @Builder @NoArgsConstructor @AllArgsConstructor public class Team { @Id @GeneratedValue @Column(name = "team_id") private Long id; private String name; @OneToMany @JoinColumn(name = "team_id") private List members = new ArrayList (); } -------------- @SpringBootTest @Transactional @Rollback(false) class MemberTest { @Autowired EntityManager em; @Test void member(){ Member member = Member.builder() .username("jaden") .build(); em.persist(member); Team team = Team.builder() .name("teamA") .members(new ArrayList ()) .build(); team.getMembers().add(member); em.persist(team); em.flush(); em.clear(); Team team2 = Team.builder() .name("teamB") .members(new ArrayList ()) .build(); em.persist(team2); Member member2 = Member.builder() .username("m2") .team(team2) .build(); em.persist(member2); } } 문제점이 어떻게 일어날지 궁금해서 테스트를 돌려봤는데 기대했던 대로 입력이 되는 것 같아 질문드립니다 !

Lượt thích
0
Số bình luận
3
Lượt xem
298

Hỏi & Đáp

세션에서 넘어오는 데이터 바인딩

감사합니다. 답변과 이어지는 강의를 참고해 다음과 같이 수정해 테스트 코드를 작성했습니다. 혹시나 해서, 코드 남겨놓도록 하겠습니다. @Controller @SessionAttributes("event") public class TestController { @PostMapping("/session/input") @ResponseBody public Event sessionInput(Model model){ Event event = new Event(); event.setName("jaden"); model.addAttribute("event", event); return event; } @PostMapping("/session") @ResponseBody public Event sessionTest(@ModelAttribute Event event){ return event; } } @WebMvcTest class TestControllerTest { @Autowired MockMvc mockMvc; @Test void sessionTest() throws Exception { MockHttpServletRequest request = mockMvc.perform(post("/session/input")) .andExpect(status().isOk()) .andReturn().getRequest(); assertThat(request.getSession().getAttribute("event")).isNotNull(); mockMvc.perform(post("/session") .session((MockHttpSession) request.getSession()) .param("limit", "10")) .andDo(print()); } } MockHttpServletResponse: Status = 200 Error message = null Headers = [Content-Type:"application/json", Cache-Control:"no-store"] Content type = application/json Body = {"id":null,"name":"jaden","limit":10} Forwarded URL = null Redirected URL = null Cookies = []

Lượt thích
0
Số bình luận
3
Lượt xem
462

Hỏi & Đáp

docker에서 postgres를 사용할 때, role 에러.

사용자명은 PostgreSQL을 설치 한 직후에는 수퍼 유저로 postgres 역할 밖에 생성되지 않으므로 -U postgres로 지정한다. 사용자명을 생략하게 되면 OS의 사용자명이 사용된다. 라고 문서에 쓰여있네요 default 가 os 사용자명으로 잡히기 때문인 것 같습니다. 따라서 os 사용자명과 POSTGRES_USER 에 입력한 값이 일치하지 않다면 psql -U ( POSTGRES_USER 에 입력한 값) (DBname)을 입력해주어야하는 것 같습니다

Lượt thích
13
Số bình luận
6
Lượt xem
7861