Spring8 엔티티 매핑과 기본키 전략 엔티티 매핑 객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리하는 엔티티라고 한다 JPA를 사용해서 테이블과 매핑할 클래스는 해당 어노테이션을 붙인다. 기본 생성자가 필수적으로 필요하다. 속성 name @Entity(name="{entityName}") 형태로 사용한다. JPA에서 사용할 엔티티 이름을 지정한다. (show_sql 옵션 확인 시 테이블 alias 형태로 사용) 기본값은 클래스의 이름을 그대로 사용한다. 가능한 기본값을 그대로 사용하는것을 권장. @Table @Table은 엔티티와 매핑할 테이블을 지정한다. 속성 name 매핑할 테이블 이름 (엔티티 이름을 기본값으로 사용) catalog 데이터베이스 catalog 매핑 schema 데이터베이스 schema 매핑.. 2021. 12. 23. 영속성 컨텍스트와 플러시 영속성 관리 (영속성 컨텍스트) 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 단어 Entity를 영구 저장하는 환경 이라는 논리적인 개념이다. EntityManager.persist(entity); persist() 호출 시 DB에 저장하는 것이 아니라 영속성 컨텍스트에 영속화 한다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 엔티티의 생명주기 비영속 (new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 // 객체를 생성한 상태(비영속) Member member = new Member(); member.setId("member1"); member.setName("hello koo"); 영속 (managed) 영속성 컨텍스트에 관리되는 상태 // 객체를 생성한 상태(비영속) .. 2021. 12. 23. 스프링 시큐리티 필터 체이닝 스프링 시큐리티 구조 스프링 시큐리티.. 인증과 인가(권한)를 담당합니다. 그러면 어떤 형태로 요청에 대한 인증과 권한을 처리할까요 ? Filter를 통해 기본 구성을 활성화 하고, FIlterChain통해 어플리케이션 내의 보안을 담당합니다.🧐 저같은 개발자는 보안이라는 단어는 너무도 어렵게 느껴지고, 어떤 원리로 잘 알지 못하는 작업들을 수행 하고 할 수 있는가... 알아 보려고 합니다. 사용하고 공부하고 알아가는 것들을 글로 남기지 않으면 제 머리는 다 잊는 이슈가 있어서... 잘못된 정보가 있으면 알려주세요 😅 먼저 시큐리티를 설명하기에 앞서 서블릿 컨테이너 기반의 어플리케이션의 구조를 잠시 보고 넘어가겠습니다. 서블릿 컨테이너(Servlet Container) 구조 서블릿 컨테이너(톰캣)으로 웹.. 2021. 4. 12. Spring Batch를 알아보자 What is batch application ? 웹 어플리케이션을 많이 개발하다 보니 배치, 배치잡, 크론탭, 스케줄링 등 다양한 용어를 혼합하여 배치라고 부르고 있습니다. 저부터도... 위키피디아 의 정의를 보면 배치 프로세싱 이란 일괄 처리라고 적혀있습니다. 주로 웹에서 배치라 함은 정해진 주기(스케줄링)를 가지고 정해진 작업(Job)을 처리 하는 것들을 말하죠. 가령 예를 들면 매출집계, 통계, 메일발송 등을 이런 작업들을 모아서 일괄 처리 하도록 스케줄링을 합니다. 여기서 중요한 포인트는 스케줄링과 배치 프로세싱은 전혀 다르다는것 입니다. (저는 공부하면서 다시금 깨달았습니다.) Spring scheduler(linux cron 같은놈)를 통해 관리자 페이지 내부에 주로 사용자가 없는 시간에 정.. 2020. 12. 5. 이전 1 2 다음