본문 바로가기

분류 전체보기160

타임리프 - 기본기능(1) 타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다. 특징 서버 사이드 HTML 렌더링 (SSR) 네츄럴 템플릿 스프링 통합 지원 타임리프 사용 선언 TEXT [[$(data)]] 사용 Escape HTML 문서는 같은 특수 문자를 기반으로 정의된다. 따라서 뷰 템플릿으로 HTML 화면을 생성할 때는 출력하는 데이터에 이러한 특수 문자가 있는 것을 주의해서 사용해야 한다. Unescape 타임리프에서는 다음 기능을 사용하면 escape 기능을 사용하지 않는다. th:text -> th:utext [[ ... ]] -> [( ... )] 변수 (SpringEL) Object ${user.username} ${user['username']} ${user.getUsername.. 2022. 5. 25.
다양한 연관관계 매핑 다대일 [N:1] @ManyToOne 다대일 단방향 -> 가장 많이 사용, 다대일의 반대는 일대다 다대일 양방향 -> 외래 키가 있는 쪽이 연관관계의 주인, 양쪽을 서로 참조하도록 개발 일대다 [1:N] @OneToMany ( 이 모델은 권장하지 않음. 실무에서 거의 사용하지 않음. ) 일대다 단방향 -> 일(1)이 연관관계의 주인, 테이블 일대다 관계는 다(N)쪽에 외래 키가 있음 일대다 단방향 단점 -> 엔티티가 관리하는 외래 키가 다른 테이블에 있음, 일대다 단방향 매핑보다는 다대일 양방향 매핑을 사용하자 일대다 양방향 -> 공식적으로 존재 X, @JoinColumn(insertable=false, updatable=false) 다대일 양방향 매핑을 사용하자 일대일 [1:1] @OneToOne 일대.. 2022. 5. 16.
연관관계의 주인과 주의점 연관관계의 주인 (Owner) 두 객체 연관관계 중 하나를 정해서 테이블의 외래 키를 관리해야 한다. 이 떄 관리하는 객체를 연관관계의 주인이라고 한다. 누구를 주인으로 ? -> 외래 키가 있는 곳을 주인으로 ( 또는 ManyToOne에서 Many쪽이 좋다. ) 주의할점 순수 객체 상태를 고려해서 항상 양쪽에 값을 설정하자 연관관계 편의 메소드를 생성하자 N에 작성해도 되고 1에 작성해도 된다 양방향 매핑시에 무한루프를 조심하자 (컨트롤러에서 엔티티를 절대 반환하지 말것) 예) toString(), lombok, JSON 생성 라이브러리 정리 단방향 매핑만으로도 이미 연관관계 매핑은 완료 양방향 매핑은 반대 방향으로 조회(객체 그래프 탐색) 기능이 추가된 것 뿐 JPQL에서 역방향으로 탐색할 일이 많음 .. 2022. 5. 14.
JPA 연관관계 매핑 기초 연관관계 매핑 기초 객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다. - 조영호(객체지향의 사실과 오해) ( 책 추천 : 객체지향의 사실과 오해, 오브젝트 ) 객체를 테이블에 맞추어 데이터 중심으로 모델링하면, 협력 관계를 만들 수 없다. 따라서 객체 연관관계를 사용한 객체 지향 모델링을 해야한다. 단방향 연관관계는 -> 간단하고 어렵지 않다. Member class 기준 private Team team; 을 선언한 후 @ManyToOne 과 @JoinCoulmn(name = "TEAM_ID") 어노테이션을 달아주면 된다. 양방향 연관관계와 연관관계의 주인 -> 어렵다 (연관관계 매핑의 핵심) 양방향은 Member class는 그대로 두고 Team class에 private List.. 2022. 5. 13.
닥터스트레인지2 용산 아이맥스 후기 저번 스파이더맨 노웨이홈에 이어서 이번 마블영화 닥스2 도 용산 아이맥스 에서 보고 왔다. 워낙 마블 팬이기도 하고 저번에 스파이더맨을 용산 아이맥스에서 봤더니 사실 일반 2D 영화관은 이제 너무 작은느낌.. 그 보통 이제 닥스2 같은 영화들은 매크로가 예매를 잡기때문에 명당이 먹기힘든데 이때 나처럼 취소표 ( 당일 1,2 시간 전 취소) 를 노리면 좋은 자리를 잡을 수 있다! 아이맥스는 가운데가 좋고 앞보단 뒤쪽에 가까울 수록 좋은데 이번 자리는 거의 뭐 완벽에 가까웠다. 단지 시간이 12시 20분이어서 집에올때 차가 없었긴했다. 가격은 1인당 21000원 이고 ( 심야? ) 나는 개인적으로 아깝다고 생각한적 없다. 요즘 영화들이 14000~15000원 하기때문에 충분히 그 값어치를 한다. (맨 앞자리.. 2022. 5. 11.
JPA 엔티티 매핑 엔티티 매핑 객체와 테이블 매핑 : @Entity, @Table 필드와 컬럼 매핑 : @Column 기본 키 매핑 : @Id 연관관계 매핑 : @ManyToOne, @JoinmColumn @Entity 기본 생성자 필수 final 클래스, enum, interface, inner 클래스 사용 X 저장할 필드에 final 사용 X 데이터베이스 스키마 자동 생성 hibernate.hbm2ddl.auto 옵션 create, create-drop, update, validate, none 데이터베이스 스키마 자동 생성 - 주의 운영 장비에는 절대 create, create-drop, update 사용하면 안됨 개발 초기 단계는 create 또는 update 테스트 서버는 update 또는 validate 스테이.. 2022. 5. 11.