분류 전체보기

· JPA
JPA는 다음과 같은 상속관계에서 세 가지의 상속관계 매핑을 지원한다. InheritanceType.JOINED: 조인 전략 InheritanceType.SINGLE_TABLE: 단일 테이블 전략
· JPA
흔한 경우는 아니겠지만 가끔 필요할 때가 있다. 예를 들어 카테고리는 다른 카테고리를 가리키면서 계층을 형성한다. 그런데 계층마다 이름만 다른 똑같이 생긴 카테고리 클래스를 생성해서 관계를 맺는 것은 비효율적이다. 이런 경우 같은 카테고리 클래스끼리 다대일 양방향 관계를 맺는 것이 편리하다. 아래는 카테고리 클래스로 다대일 양방향 관계를 맺은 모습이다. @Entity @Getter @Builder @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Category { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; String..
우리 프로젝트에는 모임 : 게시글 : 댓글 : 대댓글이라는 연관관계가 있다. 모두 1:N 양방향 관계이며 게시글 삭제 시 연관 댓글, 대댓글 삭제가 이루어져야 하는 구조이다. 삭제가 조금 번거롭다. 그래서 영속성 전이를 사용하면 쉽게 제거할 수 있지 않을까? 하고 테스트를 진행해 보았다. 아래는 테스트 로그이다. parent의 존재 여부를 확인하고 children의 존재 여부를 확인한 후에 child 삭제 후 parent 삭제를 진행한다. Hibernate: select parent0_.id as id1_5_0_, parent0_.name as name2_5_0_ from parent parent0_ where parent0_.id=? Hibernate: select children0_.parent_id..
· JPA
주 테이블에 외래키 주체 Entity(멤버)가 직접 FK를 관리하는 상태. 특징은 다음과 같다. 객체 지향 개발자가 선호한다. JPA 매핑이 편리하다. 주 테이블만 조회해도 연관 테이블의 데이터를 함께 확인할 수 있다. 단점으로는 외래키 값이 없으면 null을 허용한다. optional 설정으로 극복 가능(?) 일단 null을 허용하는 것이 DBA 입장에서 바라보았을 때 꽤나 치명적일 것이라고 영한님께서 말씀해주셨다. 그러면 애플리케이션 단에서 @NotNull 같은 Validation으로 null을 예방하면 되지 않을까? 라고 생각이 들었다.하지만 그렇다고 해서 DB 컬럼에 NOT NULL 제약이 생기는 것은 아니므로 여전히 잠재적인 위험이 있다고 보는 것 같다. 그리고 외래키에 UNIQUE 속성이 적용..
· JAVA
JVM의 메모리 사용 구조는 크게 Thread Memory 영역과 Shared Memory 영역으로 나뉜다고 볼 수 있다. Thread 영역 1. Stack Area Stack Area에는 Local Variable Array, Operand Stack, 프레임(Frame Data)이 저장된다. 1-1. Local Variable Array 메서드의 지역 변수들을 Array에 저장한다. 다음과 같은 코드가 있다고 하자. class Test { void hello(int a, double b, String s) { return; } } Local Variable Array는 다음 변수들을 저장한다. +-----------+ 0 | reference | this (hidden) +-----------+ 1 ..
· 리눅스
서버가 죽었다는 이야기를 듣고 후다닥 문제를 파악해보았다. 오늘 뭔 일이 있긴 했다. (알고보니 프론트엔드의 무한 렌더링 문제였다) 일단 서버를 다시 동작시키고 메모리 사용량을 확인해보았는데 메모리가 좀 부족해보였다. 워낙 사양이 낮은 t2.micro에 스프링 앱을 두 개나 돌리고 있으니 그럴만 했다. 여기에 사용자 요청이 조금만 들어오면 메모리가 부족해서 서버가 쉽게 다운 될 수 있으므로 swap 메모리를 확보해두기로 하였다. 사용 가능한 하드웨어 용량 확인 4GB 스왑 파일 생성 sudo dd if=/dev/zero of=/swapfile bs=128M count=32 # 128M x 32 권한 설정 sudo chmod 600 /swapfile 스왑 영역(파일)으로 지정 sudo mkswap /swa..
@xftg77g
'분류 전체보기' 카테고리의 글 목록 (5 Page)