300x250
반응형

Back-End 99

[JPA] save , saveAll 비교

source 는 원글 작성자의 Github 에 있습니다. save 동작 원리 save 동작 원리는 원글 작성자의 이전 글 참고하시면 됩니다. spring-data-jpa save 동작 원리 source 는 Github 에 있습니다. spring-data-jpa save 동작 원리 spring-data-jpa save source 를 보면 아래와 같습니다. entity 가 새로 생성할 예정이라면 persist() 를 호출하고, 그렇지 않다면 merge() 를 호출합니다. S insanelysimple.tistory.com saveAll 동작 원리 간략히 설명하면 save(xxx) 는 1건을 저장하는 메소드이며, saveAll 은 다건이상의 데이터를 저장하는 메소드입니다. 아래 로직만 보면 saveAll 은..

Back-End/Spring 2023.02.10

[JPA] 연관관계 매핑하는 방법

연관관계를 매핑할 때는 다음의 3가지를 고려해서 매핑하여야 합니다. 다중성 (일대 다, 다대 일, 다대 다, 일대 일) 방향 (양방향, 단방향) 연관관계의 주인 다중성 연관관계에는 다음과 같은 다중성이 있습니다. 다대일(N : 1)[ManyToOne] 일대다(1 : N)[OneToMany] 일대일(1 : 1)[OneToOne] 다대다(N : N)[ManyToMany] 방향 방향에는 단방향, 양방향이 있습니다. DB 테이블은 외래 키(Foreign key)하나로 조인(Join)을 사용해서 양방향으로 쿼리가 가능합니다. 따라서 DB에는 방향의 개념이 없습니다. 그러나 객체의 경우, 참조용 필드를 가지고 있는 객체만 연관된 객체를 조회할 수 있으므로 방향의 개념이 존재합니다. 객체 관계에서 한 쪽만 반대쪽을 ..

Back-End/Spring 2023.02.10

[Spring] 드래그 앤 드롭 파일 업로드 스프링 예제

웹에서 Drag&Drop로 fileupload를 하는 예제를 작성해 보겠습니다. 일단 file을 java로 받기위해 pom.xml 에 Commons FileUpload를 적어줍니다. 아래 설정을 보시고 36~47 라인을 추가해 주세요. (입력하는 부분만 적으면 어디에 어떻게 입력하는지 어려우실까봐 제 pom.xml 설정을 모두 적었습니다. 해당 라인만 추가해주시면 됩니다.) pom.xml 4.0.0 com.neowiz myapp SpringTest war 1.0.0-BUILD-SNAPSHOT 1.6 3.1.1.RELEASE 1.6.10 1.6.6 org.springframework spring-context ${org.springframework-version} commons-logging commons..

Back-End/Spring 2023.02.10

[Spring Security] 로그인시 발생되는 오류 문구를 내가 설정해보자

글 순서 1. properties 생성 2. bean으로 등록 3. jsp에 몇 줄 추가 properties 생성해 줍니다. properties 만드는 걸 까먹은 분들은 messages 폴더 위에 커서 General - Untitled Text File 선택 후 이걸 선택하면 Untitled 1 이런 식으로 창이 하나 뜨실 텐데 내용을 적은 후 Save As - 파일 경로 선택 및 File Name(security_message.properties) 적으면 파일 생성 완료 security_message.properties AbstractLdapAuthenticationProvider.emptyPassword = 비밀번호가 맞지 않습니다. AbstractSecurityInterceptor.authentic..

Back-End/Spring 2023.02.10

[Spring Boot] 로그인 및 사용자 인증 정보 참조

현재 인증된 사용자 정보 참조 스프링 시큐리티의 스프링 웹 MVC 지원 @AuthenticationPrincipal : 핸들러 매개변수로 현재 인증된 Principal 을 참조할 수 있다. Principal 은 인증 시 authentication에 들어있는 첫 번째 파라미터이다. 아래의 account.getNickname()에 해당. AccountService.java public void login(Account account) { UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken( // 토큰 생성 account.getNickname(), account.getPassword(), List.of(new S..

Back-End/Spring 2023.02.10

[Spring] JAVA SPRING관련 용어정리

영속성 Persistance 애플리케이션의 생명주기를 연장시켜주는 데이터 속성 객체지향언어에서의 영속성은 실행되었던 애플리케이션이 실행을 멈춘 후에도 객체에 접근 가능하게 해준다. JDBC Java DataBase Connectivity. JDBC API는 CRUD(Create, Read, Update, Delete)를 수행하는데 SQL을 사용한다. JDBC코드는 자바 클래스에 포함되며, 이는 비즈니스 로직과 강하게 연결되있다는 것을 뜻한다. 이 코드는 데이터베이스들 간에 표준화 되어 있지 않은 SQL에 기반한다. 다른 데이터베이스로의 이전하는 것을 어렵게 한다. ORM Object Relational Mapping. 관계형 데이터베이스의 테이블에 애플리케이션 객체를 투명하게 저장할 수 있는 기술 ORM..

Back-End/그 외 2023.02.10

[Spring Boot] Spring boot + hibernate로 프로젝트 생성하기

프로젝트 생성하기 File-New-Spring Starter Project Type은 Maven으로 Packaging은 War로 선택한다. Dependencies는 보통 저 3개를 선택한다고 하는데 일단은 선택하지 않고 코드에 직접 추가하기로 했다. 프로젝트 셋업하기 src/main/resources에 application.properties 파일에 아래 코드를 추가한다. ctrl + shift + R로 쉽게 파일을 찾을 수 있다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 # =====..

Back-End/Spring 2023.02.10

[JPA] CRUD Repositories Query Method

Method Name으로 데이터베이스 쿼리 만들기 QuerySampleDescription findById List findById(ID id) id에 해당하는 user를 가져옴 findFirstBy User findFirstByOrderByLastnameAsc() Lastname column을 오름차순으로 정렬한 목록 중 첫번째 값을 찾음 findTop3By List findTop3ByLastname(String lastname, Sort sort) Lastname순으로 정렬한 목록의 top 3 값을 찾음 findAll List findAll() List findAllByOrderByLastname() 모든데이터를 가져옴 모든 데이터를 가져와서 Lastname순으로 정렬함 (OrderBy를 사용하려면 ..

Back-End/Spring 2023.02.10

[Spring Security] Invalid CSRF token found for http://...

회원가입을 진행하던 중 HTTP 403 에러가 발생하였다. Spring Security 3.2 이후 버전에서는 적절한 CSRF 토큰을 포함시켜주지 않으면 에러를 발생하게끔 되어있다. > CSRF ? https://namu.wiki/w/CSRF 관련 로그 2018-10-14 18:10 [DEBUG] /user/register.do at position 1 of 14 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter' 2018-10-14 18:10 [DEBUG] HttpSession returned null object for SPRING_SECURITY_CONTEXT 2018-10-14 18:10 [DEBUG] No S..

Back-End/Spring 2023.02.10
300x250
반응형