일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- AuthenticationEntryPoint
- querydsl
- docker명령어
- 추후정리
- 메세지수정
- 메소드명
- appspec.yml
- 테스트
- WeNews
- MySQL
- foreignkey
- 네이티브쿼리
- 검색
- ㅔㄴ션
- 서브쿼리
- 외부키
- 포트
- subquery
- 적용우선순위
- 예약
- 컨테이너실행
- 참조키
- 2 > /dev/null
- EC2
- application.yml
- appspec
- 테스트메소드
- 커밋메세지수정
- Query
- ubuntu
- Today
- Total
목록분류 전체보기 (439)
제뉴어리의 모든것
이번 포스트에서는 많이 알려지지는 않았지만 알아두면 유용한 Lombok 어노테이션에 대해서 알아보겠습니다. 빌더 자동 생성 다수의 필드를 가지는 복잡한 클래스의 경우, 생성자 대신에 빌더를 사용하는 경우가 많은데요. 빌더 패턴을 직접 작성해보면 코딩량이 의외로 상당함을 깨닫게 됩니다. 이 때, @Builder 어노테이션을 사용하면 자동으로 해당 클래스에 빌더를 추가해주기 때문에 매우 편리합니다. @Builder public class User { private Long id; private String username; private String password; @Singular private List scores; } 컬렉션으로 된 필드에는 @Singular 어노테이션을 선언해주면 모든 원소를 한 번..
- 현재 상황 아래와 같이 Board 테이블과 Member 테이블이 존재한다. 그리고 Board의 writer_id는 Member의 id를 참조하고 있다 (Board.writer_id -> Member.id) Entity적 상황 : N : 1 상황인 두 엔티티 Board : Member 가 있으며 (한 멤버가 게시물을 여러개 쓸 수 있으므로) Board는 Member를 참조하고 있으며 아래는 두 Entity 구조의 구조이다. 그리고 위에 두 엔티티를 JOIN하여 가져오는 소스는 아래와 같다. Object objects = entityManager.createQuery("select b, w from Board b left join b.writer_id w") .getResultList(); 그런데 이 소..
MYSQL 외래키(Foreign key) 지정 시 on delete rule(삭제 시), on update rule(변경 시) 옵션 지정 RESTRICT, CASCADE, NO ACTION, SET NULL 1. RESTRICT : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 변경/삭제가 취소됩니다.(제한) 2. CASCADE : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 함께 변경/삭제됩니다. 3. NO ACTION : MYSQL에서는 RESTRICT와 동일합니다. 4. SET NULL : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 참조하고 있는 값은 NULL로 세팅됩니다. 좋아요11 공유하기 글 요소 구독하..
영속성 컨텍스트 JPA를 공부할 때 가장 중요한게 객체와 관계형 데이터베이스를 매핑하는 것(Object Relational Mapping) 과 영속성 컨텍스트를 이해하는 것 이다. 두가지 개념은 꼭 알고 JPA를 활용하자. 엔티티 매니저 팩토리와 엔티티 매니저 JPA는 스레드가 하나 생성될 때 마다(매 요청마다) EntityManagerFactory에서 EntityManager를 생성한다. EntityManager는 내부적으로 DB 커넥션 풀을 사용해서 DB에 붙는다. 영속성 컨텍스트 영속성 컨텍스트는 JPA를 이해하는데 가장 중요한 용어이다. "엔티티를 영구 저장하는 환경"이라는 뜻 EntityManager.persist(entity); 앞의 예제에서 persist()로 db에 객체를 저장하는 것이라고..
[초보용] Git 되돌리기( Reset, Revert ) 개발바보들 1화 git “back to the future”에서 설명한 Reset / Revert에 대한 글입니다. Git을 익히면서 헷갈렸던 것들 중의 하나가 이력을 되돌리기 입니다. Git에서 이력을 되돌리는 방법은 여러가지가 있지만, 그 중에 대표적인게 Reset과 Revert 입니다. 단어 의미만 보고는 둘 사이의 차이를 알기 쉽지 않은데, 풀어서 설명해보면 Reset은 시계를 다시 맞추드시 이력을 그 당시로 되돌리는 것이고, Revert는 이전 이력은 그대로 두고, 그 되돌릴 커밋의 코드만 원복시킵니다. 이 개념을 이리온님께서 만화로 설명해 주신게 있는데 참고하시면 이해하는데, 더 도움이 됩니다. ( 개발바보들 1화 — git “Back ..
SpringMVC에서 Controller는 어떻게 View를 찾을 수 있을 까요? Spring MVC 프로젝트를 생성하면 자동으로 Controller Class가 생성됩니다. 또한 @RequestMapping어노테이션에 적힌 url로 요청하면 해당 어노테이션이 부여된 메소드가 호출되면서 return에 적힌 jsp페이지를 자동으로 사용자에게 응답하게 됩니다. 어떻게 Controller는 return에 적힌 String만을 가지고 적절한 jsp(View)를 찾을 까요? 어떻게 가능한지는 먼저 SpringMVC의 동작과정을 알아보면 쉽게 알 수 있을것 같습니다. Spring MVC의 동작과정 SpringMVC에서는 최초로 사용자로부터 요청을 전달받게되면 DispatcherServlet이 수신하게 됩니다. 이것..