본문 바로가기

스프링10

[Error Note] Spring session' doesn't exist 세션 테이블 생성이 안되는 오류 유저 서버와 어드민 서버를 분리하면서 유저 서버는 session 저장소를 redis, 어드민은 jdbc로 가져가게 했음 어드민은 jdbc로 가져가게 된 이유는 어드민 유저의 수는 일반 유저에 비해 많이 적기 때문에 세션 I/O 과정에 부하가 적어 선택하게 되었음. (유지 보수 비용도 고려) 세션 저장소로 jdbc로 사용하려면 아래와 같이 프로퍼티 파일에 옵션을 주면됨 spring.session.store-type=jdbc 하지만 이렇게 설정을하고 실행을 하면 spring_session 테이블이 생성이 안되었다는 에러가 발생 문제 해결 만약 프로젝트에서 사용하는 데이터베이스가 embeded 타입이라면 spring_session 테이블은 자동 생성되도록 기본 설정 되어 있지만 나는 embeded 타입이 아닌.. 2023. 11. 12.
[Error Note] Spring - no main manifest attribute 에러 무중단 배포를 하는 도중에 jar 파일이 실행되지 않아서 계속 heath 체크가 실패하는 문제가 발생했을시 원인을 찾고자 해당 jar 실행 로그가 들어있는 파일을 열어 봤더니 아래 로그만 덩그러니 있었음 no main manifest attribute, in /home/ec2-user/app/deploy/mall-1.0.1-SNAPSHOT-20230927114334-plain.jar 이 에러는 jar파일에서 애플리케이션이 실행되는 @SpringBootApplication이 붙은 메인 클래스를 찾지 못했다는 뜻 java -jar로 jar파일을 실행 시키면 JVM이 jar파일의 메인 클래스를 호출하는데 이를 찾지 못해서 발생하는 문제 Spring boot 2.5.0 버전 이상 부터는 gradle로 빌드할 때.. 2023. 11. 11.
[Error Note] spring 오류 해결방법 모음 1️⃣ 1번째 오류 메세지 Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 원인 mysql 버전이 8 이상일 때 나오는 오류라고 한다.. 해결방법 드라이버의 “com.mysql.jdbc” 부분을 → “com.mysql.cj.jdbc”로 변경하면 해결됨 2️⃣ 2번째 오류 메세지 java.lang.NoClassDefFoundError: javax/servle.. 2023. 11. 7.
[JPA] Creative-stylish-portfolio (블로그 테마) 연습 예제 stylish-portfolio easy_thema Blog 연습 예제 https://startbootstrap.com/theme/creative 기본 설정 # 설치 패키지 # 1) 메뉴 라이브러리 설치 npm i react-router-dom npm i @types/react-router-dom # 2) 벡엔드 연동 라이브러리 설치 npm i axios # 3) pre css 컴파일러 : sass npm i sass # 4) Material Page component 업그레이드 # 과거 v4 -> v5 변경 설치 npm i @mui/material @emotion/react @emotion/styled # 4-1) 소스에서 임포트 사용법 : import Pagination from '@mui/mater.. 2023. 11. 3.
[JPA] 연관관계 매핑 정리 복습 https://shins99.tistory.com/113 [JPA] 양방향과 단방향 매핑, 연관관계의 주인(mappedBy) 복습 http://shins99.tistory.com/112 [JPA] 기본 키(primary key)와 매핑 복습 https://shins99.tistory.com/111 [Spring Boot] 페이징(paging) 복습 https://shins99.tistory.com/109 [JPA] 영속성 컨텍스트 영속성 컨텍스트란? 영속성 shins99.tistory.com @ManyToOne 다대일 (N : 1) 매핑 - 연관관계 매핑 시 가장 많이 사용하는 매핑 방법 - 다대일은 외래키(FK)를 갖고 있는 "다"쪽이 연관관계의 주인 단방향 매핑 @Entity public cla.. 2023. 10. 25.
[JPA] 영속성 컨텍스트 영속성 컨텍스트란? 영속성 컨텍스트는 엔티티를 영구 저장하는 환경이라는 뜻이다. 영속성 컨텍스트는 애플리케이션과 DB 사이에서 객체를 보관하는 가상의 DB 역할을 한다. 엔티티 매니저(EntityManager)를 통해 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리하게 된다. 엔티티 생명주기 [그림 1] 엔티티 생명주기(출처 : 참고1) 비영속(new/transient) 상태 : 영속성 컨텍스트와 관계가 없는 상태 //객체를 생성한 상태(비영속) Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); 영속(managed) 상태 : 영속성 컨텍스트에 저장된 상태 //객체를 생성한.. 2023. 10. 20.