반응형 전체 글75 [Spring Tip] 엔티티 설계시 주의점 Setter Setter가 열려있다면 프로젝트 사이즈가 커진 뒤 유지보수가 굉장히 어렵다. 모든 연관관계는 지연로딩으로 설정!!! (중요) 즉시 로딩(EAGER)을 사용한다면 연관된 모든 테이블을 로딩해야한다. 따라서 지연 로딩(LAZY)로 설정하고 사용해야 한다. 만약 연관된 엔티티를 함께 조회해야 한다면, fetch join 또는 엔티티 그래프를 사용한다.(n+1문제?) ! ManyToOne은 default가 EAGER, OneToMany는 LAZY. 따라서 ManyToOne은 LAZY로 fetch 값을 변경이 필수적이다. 초기화와 동시에 메모리 할당을 하는것이 'null' 문제에서 안전하다. best practice. 테이블 네이밍 전략 주로 언더바 전략을 사용하고 스프링에서 카멜케이스와 .을 _로.. 2022. 10. 3. [JPA] 키워드 JPA(java persistence api) 기본 구조 Entity Manager 생성 Entity Manager로 DB 조작 Entity Transaction으로 트랜잭션 관리 Spring과 같이 사용할 때에는 대부분의 작업을 스프링이 알아서 해주기 때문에 매핑 설정과 쿼리를 사용하는 정도의 작업에 사용됨 Entity Manager EntityManagerFactory를 통해 생성 JPQL JPA에서 사용하는 쿼리 영속 컨텍스트 DB에서 읽어온 객체, EM을 통해 생성, 읽어온 객체를 저장하고 있는 일종의 메모리 공간. EntityManager 단위로 영속 컨텍스트 관리 영속 객체를 보관하고 있다가 commit 시점에 DB 값 변경 2022. 10. 2. [JAVA, JPA, SPRING] 어노테이션 모음집 @SpringBootApplication - 해당 어노테이션이 존재하는 패키지와 하위 패키지를 모두 스캔함. @Entity - DB 테이블과 매핑 대상임을 알림 @Id - primary key @GeneratedValue - auto increment @Column - 매핑할 column과 변수 명이 다를 경우 지정 가능 @ManyToMany @ManyToOne @OneToOne @OneToMany @JoinColumn @Controller @Service - component scan 대상 @Transactional - 쓸 수 있는 옵션이 spring에서 제공하는 어노테이션에 더 많다. 하지만 spring에 종속적이다. class에 어노테이션을 걸면 public 메소드에 모두 적용된다. ReadOnly.. 2022. 9. 30. 내 추석 자바 알고리즘 적응 완료. 2022. 9. 12. [Go] Google OAuth2.0 적용 OAuth 적용 시작하기 전 OAuth에 대한 설명은 아래 포스팅을 봐 주시면 감사하겠다! 2022.06.02 - [Study/Server] - [Server] OAuth 알고 쓰기 [Server] OAuth 알고 쓰기 OAuth란? 다양한 플랫폼 환경에서 권한 부여를 위한 산업 표준 프로토콜이다. 아마 다양한 환경에서 알게 모르게 OAuth를 사용한 인증을 해 보았을 것이다. 당장에 생각나는 예시를 들자면 첨부한 roy-jang.tistory.com Google의 OAuth2를 이 포스팅에 작성된 절차를 기준으로 하나씩 살펴볼 것이다. OAuth 적용 절차 1. Client는 OAuth를 사용하기 위해 사전에 Resource Server에게 OAuth에 대한 사용에 대한 동의를 받아 둔다. -> 이 과.. 2022. 8. 29. [Algorithm]Programmers_KAKAO_118667_두 큐 합 같게 만들기_Go 문제 설명 풀기 전 생각 1. 큐를 둥글게 이어 붙이면 링(Ring) 형태가 된다. 2. 투포인터를 사용하여 타겟 넘버를 찾는다. ∵ 큐는 Pop과 Push를 이용해 연속된 데이터 처리만을 할 수 있기에 투포인터를 사용해도 된다 판단. 3. 시나리오를 분리하여 큐를 만드는데 필요한 수행 횟수 계산. 시나리오 1. 시작 포인터와 끝 포인터가 같은 큐에 있다. i) 끝 포인터가 큐의 마지막 인덱스 값이다. ii) 끝 포인터가 큐의 마지막 인덱스 값이 아니다. 2. 시작 포인터와 끝 포인터가 다른 큐에 있다. 사용 자료구조 tmpq []int - 링 형태를 직접 구현하기보다 1번 큐, 2번 큐, 1번 큐를 이어 붙여 링 형태로 사용. 코드 package main import ( "fmt" "math" ) fu.. 2022. 8. 26. 이전 1 2 3 4 5 ··· 13 다음 반응형