분류 전체보기 542

es6 옵셔널 체이닝 에 대해 ?. 샘플 OCP

디자인 패턴의 OCP 를 공부하다 기록해 놓습니다. 아래와 같은 코드가 있습니다. const aa = 't'; if(aa == 't') console.log('ooo'); else consolelog('xxx'); 아주 단순한 코드죠 위 코드를 라우팅 테이블과 라우터로 변경해봅니다. const resultProcess = { table: { "true": () => { console.log('ooo'); }, "false": () => { console.log('xxx'); }, }, router(input) { return this.table[input == 't']?.(input); } }; resultProcess.router('t'); OCP 를 흉내내기 위해서 아주 간단한 코드로 작성했습니다. ..

프로그래밍/Js 2023.08.31

[spring boot JPA] object references an unsaved transient instance - save the transient instance before flushing 오류 원인

"object references an unsaved transient instance - save the transient instance before flushing" 오류는 Hibernate 또는 JPA에서 발생하는 오류로, 영속성 컨텍스트에 저장되지 않은(transient) 엔티티를 다른 엔티티가 참조하고 있을 때 발생합니다. 이 경우, 영속성 컨텍스트는 참조한 엔티티를 올바르게 관리하지 못하므로 오류가 발생합니다. 이 오류를 해결하기 위해 다음을 확인하십시오: 연관 엔티티 저장: 먼저 연관 엔티티(Team)를 저장한 후, 메인 엔티티(Members)에 연관 엔티티를 설정하세요. 영속성 컨텍스트는 참조된 엔티티가 영속 상태로 저장되어 있어야 합니다. 원본 Members members = new M..

spring boot 와 JPA + mysql 사용한 두개 테이블 조인 Insert

프로젝트 구조 build.gradle buildscript { repositories { mavenCentral() } dependencies { classpath "gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.10" } } plugins { id 'java' id 'war' id 'org.springframework.boot' version '2.7.14' id 'io.spring.dependency-management' version '1.1.2' id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10' // Querydsl 플러그인 추가 } group = 'com.naya' version = '0..

spring boot 와 JPA 사용한 프로젝트 전체 구조

Spring Boot 및 Spring Data JPA 프로젝트의 구조를 잘 구성하는 것은 프로젝트의 확장성과 유지 관리성을 향상시키는 데 중요합니다. 아래에 제안하는 전형적인 프로젝트 구조를 참고하실 수 있습니다. 프로젝트 구조의 주요 구성 요소: Controller: 사용자의 HTTP 요청을 처리하고 응답을 생성하는 역할을 합니다. 주로 @Controller나 @RestController 어노테이션이 지정된 클래스입니다. src/ └── main/ └── java/ └── com/ └── example/ └── controller/ Service: 비즈니스 로직을 수행하는데 사용됩니다. 서비스 계층은 컨트롤러와 리포지토리 사이에서 중간 역할을 합니다. 주로 @Service 어노테이션이 지정된 클래스입니..

IntelliJ 이용하여 스프링 부트 + JPA + Mysql + thymleaf 게시판 CRUD

IntelliJ IDEA를 사용하여 스프링 부트(Spring Boot) 기반의 웹 애플리케이션을 개발하며, JPA(Java Persistence API)를 통해 MySQL 데이터베이스를 사용하고 Thymeleaf를 사용하여 간단한 게시판의 CRUD(Create, Read, Update, Delete) 기능을 구현하는 과정을 설명합니다. 이 프로젝트를 만들기 위한 단계별 가이드입니다. 전제 조건: - IntelliJ IDEA 설치 - JDK 11 설치 - 스프링 부트 프로젝트 생성 및 설정 - MySQL 데이터베이스 설치 및 설정 IntelliJ IDEA로 스프링 부트 프로젝트 생성 IntelliJ IDEA를 열고 "File" 메뉴에서 "New"를 선택한 다음 "Project"를 클릭합니다. "Spring..

IntelliJ 이용하여 스프링 부트 + JPA + Mysql 간단한 예제

JAVA 11 사용 build.gradle plugins { id 'java' id 'war' id 'org.springframework.boot' version '2.7.14' id 'io.spring.dependency-management' version '1.1.2' } group = 'com.naya' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '11' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring..

[인텔리제이 2020.3] 스프링 부트 + Java + thymeleaf 수정시 자동 리로드(새로고침) 방법 (최종)

Java 파일과 thymeleaf 템플릿 html 파일수정시 새로고침 없이 자동으로 리로드 되는 방법을 소개합니다. mac : cmd + shift +a window : ctrl + shift +a registry 검색 후 compiler.automake.allow.when.app.running 체크 setting > Build, Execution, Depoyment >Compiler Build project automatically 체크 resources > application.yml server: port: 8080 spring: datasource: driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy url: jdbc:log4jdbc:mysql:/..

intelliJ Springboot + MyBatis + MySQL + thymeleaf 셋팅 및 연동(3)

thymleaf 를 이용하여 html 파일을 바꿔봅시다. TestController.java package com.naya.shop.controller; import com.naya.shop.dto.TestDto; import com.naya.shop.service.TestService; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import java.util.List; @Controller public class TestController { private final TestSer..