Seemingly Online
close
프로필 배경
프로필 로고

Seemingly Online

  • 카테고리 (571)
    • Language (250)
      • 알고리즘 (100)
      • Java (144)
      • python (2)
      • Kotlin (4)
    • WEB (141)
      • Spring (24)
      • Spring Security (3)
      • Next.js (3)
      • TypeScript (3)
      • JavaScript (45)
      • jQuery (7)
      • CSS (25)
      • XML (3)
      • Maven (1)
      • Gradle (1)
      • JSP (1)
      • Thymeleaf (10)
      • HTML (11)
      • MyBatis (1)
      • JPA (3)
    • App (45)
      • Flutter (34)
      • Dart (4)
      • Android (2)
      • IOS (3)
      • Firebase (2)
    • Git (6)
      • GitHub (6)
    • AWS (15)
      • SCT (2)
      • Amazon Aurora (1)
      • S3 (2)
      • EventBridge (1)
      • EC2 (7)
      • EFS (1)
    • DataBase (44)
      • MySQL (19)
      • Oracle SQL (19)
      • Postgre-SQL (6)
    • OS (33)
      • Linux (27)
      • Windows (1)
      • Mac (5)
    • Tool (15)
      • DocKer (6)
      • Intellij (7)
      • VScode (2)
    • IT (17)
      • Developer-etc (13)
      • 개발상식 (4)
    • CodePen (2)
      • 캐러셀 (2)
  • 홈
  • 방명록
JPA save() vs saveAndFlush() 동작원리

JPA save() vs saveAndFlush() 동작원리

2025-07-02save() vs saveAndFlush() 차이점항목save()saveAndFlush()기능엔티티를 영속성 컨텍스트(Persistence Context)에 저장엔티티 저장 + flush()를 즉시 호출DB 반영 시점flush 시점 (트랜잭션 커밋 or 명시적 flush 시)즉시 flush → DB에 SQL 실행트랜잭션 내에서 커밋 전까지 DB에서 조회 불가✅ 가능❌ flush로 DB에 즉시 반영됨성능일반적으로 더 효율적 (버퍼링)성능 비용 있음 (즉시 DB IO)주 용도일반적인 CRUD 처리DB에 즉시 반영해야 할 때 (예: ID, 제약조건 확인 등)왜 둘 다 존재하는가?save()는 일반적인 "지연 쓰기" 전략에 최적화되어 있어 성능이 좋음.하지만 실무에서는 다음과 같은 즉시 DB ..

  • format_list_bulleted WEB/JPA
  • · 2025. 7. 2.
  • textsms
Spring Boot에서 @Async + MultipartFile 조합 시 발생하는 오류 정리 및 해결 방법

Spring Boot에서 @Async + MultipartFile 조합 시 발생하는 오류 정리 및 해결 방법

2024-01-02개요 Spring Boot에서 비동기 처리를 위해 @Async를 활용할 때, 일반적인 서비스 로직에서는 잘 동작하지만 MultipartFile을 사용하는 경우 예상치 못한 NoSuchFileException 오류가 발생할 수 있습니다.이번 글에서는 해당 오류의 원인과 해결 방법을 구체적으로 살펴보겠습니다.문제 상황 MultipartFile 파라미터를 @RequestPart로 컨트롤러에서 받고, 그 값을 DTO에 담아 @Async 메서드로 넘긴 뒤, 내부에서 multipartFile.transferTo() 또는 getInputStream() 등을 호출하면 아래와 같은 오류가 발생합니다.java.nio.file.NoSuchFileException: /private/.../upload_xxx..

  • format_list_bulleted WEB/Spring
  • · 2025. 7. 1.
  • textsms
타임리프(Thymeleaf)에서 프래그먼트에 자바스크립트 함수 전달하기

타임리프(Thymeleaf)에서 프래그먼트에 자바스크립트 함수 전달하기

2024-07-15 타임리프(Thymeleaf)는 서버 사이드 템플릿 엔진으로, HTML을 템플릿으로 사용하여 동적 웹 페이지를 생성하는 데 유용합니다. 때로는 자바스크립트 함수를 프래그먼트에 직접 전달해야 할 때가 있습니다. 이 글에서는 타임리프에서 프래그먼트에 자바스크립트 함수를 전달하는 방법을 설명합니다.1. 프래그먼트 정의하기먼저, 자바스크립트 함수를 호출할 수 있도록 프래그먼트를 정의합니다. 프래그먼트는 th:fragment 속성을 사용하여 정의할 수 있습니다.  2. 프래그먼트 호출하기타임리프 문법을 사용하여 프래그먼트를 호출할 때, 자바스크립트 함수와 매개변수를 문자열로 전달합니다. 3. 자바스크립트 함수 정의하기마지막으로, 호출하려는 ..

  • format_list_bulleted WEB/Thymeleaf
  • · 2024. 7. 15.
  • textsms
JPA와 PostgreSQL의 TIME 타입 간 호환성 문제 해결하기

JPA와 PostgreSQL의 TIME 타입 간 호환성 문제 해결하기

2024-06-111. 원인 최근 프로젝트에서 JPA를 사용하여 PostgreSQL 데이터베이스와 상호 작용하던 중, 예약 시간을 나타내는 엔티티 필드에서 호환성 문제가 발생했습니다. LocalTime으로 매핑된 reservationTime 필드를 사용할 때, PostgreSQL의 TIME 컬럼과의 호환성 문제로 인해 "Invalid value for NanoOfSecond" 오류가 발생했습니다.  Invalid value for NanoOfSecond (valid values 0 - 999999999): -935000000  기존 오류가 발생하던 entity 정보는 아래와 같습니다.  @Column(name = "reservation_tm", columnDefinition = "TIME") pr..

  • format_list_bulleted WEB/JPA
  • · 2024. 6. 11.
  • textsms
html/css 드롭다운 메뉴 만들기 [No JavaScript!!]

html/css 드롭다운 메뉴 만들기 [No JavaScript!!]

2024-05-281. 방법 ::after 선택자를 이용해 가상의 html 영역을 만들고 이후 해당 부분을 hover 하는 방식을 이용해 간단하게 드롭다운 메뉴를 구현할 수 있다. 코드를 살펴보자.2. html menu sub1 sub2  코드는 간단하다. 우선적으로 hover 를 진행할 메뉴를 만들고 이후 드롭다운 메뉴리스트를 만들면 된다. 위의 코드에서는 menu 클래스가 호버를 진행할 항목이고 sub_menu 가 드롭다운이 되는 메뉴이다.3. css 처음 방법에서 소개했던 것과 같이 menu 에 가상 영역 ::after를 만들고 해당 부분을 호버시에 sub_menu의 display 가 flex 가 되면서 드롭다운 영역이 나타나게 된다. .menu { position: rel..

  • format_list_bulleted WEB/CSS
  • · 2024. 5. 27.
  • textsms
Spring boot 파비콘 적용 방법 favicon.ico

Spring boot 파비콘 적용 방법 favicon.ico

2024-05-08 1. 방법 웹사이트 탭에 좌측에 나타나는 아이콘 같은 것을 파비콘이라고 하는데 해당 부분을 적용하는 방법을 알아보자.우선 favicon.ico 파일을 만들어야 하는데 ico 파일 정보를 만드는 것은 아래링크를 참고하자.https://favicon.io/ Favicon.io - The Ultimate Favicon Generator (Free)With Favicon.io you can quickly generate a favicon for your website for free!favicon.io그리고 만들어진 파비콘 정보를 아래 경로에 삽입한다. resources/static/favicon.ico 이후 자신의 프로젝트를 재실행하면 파비콘이 적용된 것을 확인할 수 있다.메인 이미지 출처..

  • format_list_bulleted WEB/Spring
  • · 2024. 5. 8.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 24
  • navigate_next
공지사항
전체 카테고리
  • 카테고리 (571)
    • Language (250)
      • 알고리즘 (100)
      • Java (144)
      • python (2)
      • Kotlin (4)
    • WEB (141)
      • Spring (24)
      • Spring Security (3)
      • Next.js (3)
      • TypeScript (3)
      • JavaScript (45)
      • jQuery (7)
      • CSS (25)
      • XML (3)
      • Maven (1)
      • Gradle (1)
      • JSP (1)
      • Thymeleaf (10)
      • HTML (11)
      • MyBatis (1)
      • JPA (3)
    • App (45)
      • Flutter (34)
      • Dart (4)
      • Android (2)
      • IOS (3)
      • Firebase (2)
    • Git (6)
      • GitHub (6)
    • AWS (15)
      • SCT (2)
      • Amazon Aurora (1)
      • S3 (2)
      • EventBridge (1)
      • EC2 (7)
      • EFS (1)
    • DataBase (44)
      • MySQL (19)
      • Oracle SQL (19)
      • Postgre-SQL (6)
    • OS (33)
      • Linux (27)
      • Windows (1)
      • Mac (5)
    • Tool (15)
      • DocKer (6)
      • Intellij (7)
      • VScode (2)
    • IT (17)
      • Developer-etc (13)
      • 개발상식 (4)
    • CodePen (2)
      • 캐러셀 (2)
최근 글
인기 글
최근 댓글
태그
  • #자바알고리즘
  • #백준
  • #백준알고리즘
  • #backjoon
  • #BOJ
  • #자바
  • #자바공부
  • #자바기초
  • #Java
  • #Java8
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바