본문 바로가기

프로그래밍85

MSSQL 운영 DB에서 개발 DB로 데이터 이관 - -MSSQL에서 운영 DB에서 개발 DB로 데이터를 이동할 때, "그냥 데이터만 옮기면 되겠지?" 하고 생각할 수 있지만, 실제로는 몇 가지 중요한 점검 사항이 필요합니다.데이터 이동 후 시스템이 정상적으로 작동하고 성능도 최적화될 수 있도록 하는 과정을 살펴볼게요.이 글에서는 데이터 이동 후 반드시 점검해야 할 주요 단계를 쉽고 간단하게 설명할 거예요.1. 데이터 삭제 및 초기화먼저, 데이터를 옮기기 전에 기존 데이터를 삭제해야 합니다.DELETE문을 사용하면 데이터를 삭제할 수 있지만, 외래 키 관계가 있을 때는 외래 키 제약을 먼저 비활성화하는 것이 좋아요.삭제 후에는 외래 키를 다시 활성화하는 걸 잊지 마세요.-- 외래 키 비활성화ALTER TABLE 테이블명 NOCHECK CONSTRAINT.. 2024. 12. 15.
자바스크립트로 엔터키 폼 전송 막는 방법 - -웹사이트에서 폼을 작성할 때, 사용자가 실수로 **엔터키(Enter)**를 눌러 폼이 제출되는 일이 있죠?예를 들어, 로그인 폼이나 검색창에서 엔터키를 눌러서 페이지가 새로고침되거나 입력값이 전송되는 일이 생기면 당황스러울 수 있습니다.이런 문제를 해결하려면 엔터키로 인한 폼 제출을 막는 방법을 알아두면 유용해요!오늘은 자바스크립트와 jQuery를 활용해서 엔터키로 인한 폼 제출을 막는 간단한 방법을 알려드릴게요.이 방법을 사용하면 실수로 엔터키를 눌러 폼이 제출되는 상황을 예방할 수 있습니다.1. 엔터키로 인한 폼 전송 문제HTML 폼에서 사용자가 **엔터키(Enter)**를 누르면 대부분 자동으로 폼이 제출됩니다.특히 폼 안에 텍스트 입력 필드가 있을 경우, 엔터키를 눌러 검색을 하거나 로그인하.. 2024. 12. 11.
자바스크립트로 웹 페이지의 '뒤로가기' 에러와 캐시 문제 해결하기 - -웹 개발 중, 사용자가 '뒤로가기' 버튼을 클릭했을 때 페이지가 제대로 작동하지 않거나, 캐시된 내용 때문에 오류가 발생하는 문제를 겪은 적이 있나요?이 문제는 꽤 자주 발생하는데요, 그럴 때마다 답답하고 속상할 수 있죠.오늘은 그런 문제들을 자바스크립트를 이용해 해결하는 방법을 알아보려고 해요. 어려워 보일 수 있지만, 차근차근 따라오시면 쉽게 해결할 수 있습니다!1. 히스토리 API로 뒤로가기 제어하기먼저, 브라우저 히스토리 API를 활용해서 뒤로가기 버튼을 눌렀을 때 발생하는 문제를 방지할 수 있어요.히스토리 API를 사용하면, 사용자가 뒤로가기를 눌러도 이전 페이지로 돌아가지 않게 하고, 대신 페이지를 강제로 새로 고침하도록 만들 수 있습니다.Ex) 뒤로가기 버튼을 눌렀을 때 강제로 새로 고.. 2024. 12. 10.
SQL Server에서 SET IDENTITY_INSERT 사용하기 --SET IDENTITY_INSERT는 SQL Server에서 중요한 역할을 하는 명령어입니다. 주로 IDENTITY 컬럼을 가진 테이블에 대해 수동으로 값을 삽입할 수 있도록 도와줍니다. 그럼, IDENTITY_INSERT가 무엇인지, 어떻게 사용되는지 알아볼게요. IDENTITY 컬럼이란?먼저, IDENTITY 컬럼에 대해 간단히 설명하자면, 자동으로 값을 증가시키는 컬럼입니다. 보통 **기본키(primary key)**로 많이 사용되며, 데이터가 삽입될 때마다 자동으로 증가하는 숫자가 부여됩니다. 그런데 가끔은 이 IDENTITY 컬럼에 수동으로 값을 삽입하고 싶을 때가 있습니다. SET IDENTITY_INSERT란?SET IDENTITY_INSERT 명령어는 IDENTITY 컬럼에 명시적으로 .. 2024. 12. 6.
SQL 명령어 DELETE, TRUNCATE, DROP의 차이점 --SQL에서 데이터를 삭제하는 명령어에는 DELETE, TRUNCATE, DROP이 있습니다. 이 명령어들은 모두 데이터를 삭제하는 용도로 사용되지만, 그 방식과 특징에 있어 큰 차이점이 있습니다. 각각의 명령어가 어떻게 다르고, 어떤 상황에 적합한지에 대해 알아보겠습니다.1. DELETEDELETE는 테이블에서 특정 조건에 맞는 데이터를 삭제하는 명령어입니다.이 명령어는 행 단위로 데이터를 삭제하며, 트랜잭션을 지원하기 때문에 삭제한 데이터를 롤백할 수 있습니다.WHERE 절을 사용하여 삭제할 데이터 범위를 지정할 수 있어서, 원하는 조건의 데이터만 선택적으로 삭제할 수 있습니다.하지만, 삭제된 데이터는 로그에 기록되며, 이로 인해 삭제 속도가 비교적 느릴 수 있습니다.또한, **트리거(trigger.. 2024. 12. 5.
운영 DB에서 개발 DB로 데이터 복사하는 가이드 (DBeaver 사용) - -안녕하세요? 오늘은 DBeaver를 사용하여 운영 데이터베이스(MSSQL)에서 개발 데이터베이스(MSSQL)로 데이터를 복사하는 방법에 대해서 알아보겠습니다. 특히 자동 증가(IDENTITY) 값을 고려하여 데이터를 안전하게 복사하는 방법도 알려드릴께요!1. 자동 증가 값 처리운영 DB에서 개발 DB로 데이터를 복사하는 과정에서 자동 증가 값이 제대로 처리되지 않을 수 있습니다. 데이터를 삭제한 후에도 자동 증가 값은 초기화되지 않기 때문에, 이를 적절히 처리하는 방법을 소개합니다.자동 증가 값 리셋 방법TRUNCATE TABLE 명령어 사용 (가능한 경우)데이터 삭제 후 자동 증가 값을 리셋하려면 TRUNCATE 명령어를 사용합니다. TRUNCATE는 데이터를 삭제하는 동시에 자동 증가 값을 리셋.. 2024. 12. 4.
자바스크립트로 날짜와 시간 포맷하기 - -안녕하세요! 오늘은 자바스크립트에서 날짜와 시간을 어떻게 포맷하는지에 대해 알아볼게요.웹 개발을 하다 보면 종종 날짜와 시간을 특정 형식으로 보여줘야 할 때가 많죠.자바스크립트에서는 날짜를 다루기 위한 여러 가지 방법을 제공하는데요, 그 중 하나가 Date 객체입니다.이 글을 통해 Date 객체를 사용해서 날짜와 시간을 원하는 형식으로 포맷하는 방법을 쉽게 알아보겠습니다. 1. 현재 날짜와 시간 가져오기우선, 자바스크립트에서 현재 날짜와 시간을 가져오려면 Date 객체를 사용하면 됩니다.var today = new Date();이 코드 한 줄로 today라는 변수에 현재 날짜와 시간 정보를 담을 수 있어요.이제 today 객체에서 날짜와 시간 정보를 하나씩 꺼내볼게요. 2. 날짜와 시간 값 추출하기.. 2024. 12. 3.
자바스크립트에서 날짜 및 시간 포맷팅하는 간단한 방법 - -안녕하세요! 오늘은 JavaScript에서 날짜와 시간을 원하는 형식으로 포맷하는 방법을 소개하려고 해요.웹 개발을 하다 보면, 자주 현재 시간을 특정 포맷으로 변환해야 할 때가 있죠.예를 들어, **"2024년 10월 28일 09시 05분 03초"**를 **"20241028090503"**와 같은 형식으로 변환하고 싶을 때요.그렇다면 어떻게 해야 할까요? 1. 기본적인 방법 우리는 Date 객체를 사용하여 현재 날짜와 시간을 가져올 수 있어요.그리고 이를 문자열로 변환하고 포맷을 맞추는 작업을 해야겠죠. 먼저 기존의 코드를 살펴볼까요?var today = new Date();var year = today.getFullYear();var month = today.getMonth() + 1; // .. 2024. 11. 28.
자바스크립트로 라디오 버튼 체크 제어하기 - -안녕하세요! 오늘은 자바스크립트를 이용해 라디오 버튼의 체크 상태를 제어하고, 선택된 값을 활용하는 방법에 대해 알아보겠습니다.웹 폼에서 라디오 버튼은 사용자에게 여러 옵션 중 하나를 선택하게 할 때 사용되죠.사용자가 버튼을 클릭할 때마다 선택된 값을 추출하여 다른 동작을 할 수 있도록 하면, 웹 페이지의 동적인 기능을 구현할 수 있습니다.1. 라디오 버튼 HTML 코드먼저, 라디오 버튼을 HTML로 작성해보겠습니다.여러 옵션을 제공하는 기본적인 라디오 버튼의 예는 다음과 같습니다.OneTwoThreeFour위 코드에서는 4개의 라디오 버튼을 만들었고, 각 버튼에 onclick="javascript:check();"를 추가하여 버튼이 클릭될 때마다 자바스크립트 함수 check()가 실행되도록 설정했.. 2024. 11. 28.
자바스크립트로 멀티 체크박스 다중 선택 박스 제어하기 - -안녕하세요! 오늘은 웹 페이지에서 멀티 체크박스를 제어하는 자바스크립트(jQuery) 로직을 소개하려고 해요.여러 개의 체크박스를 한 번에 제어하거나, 사용자가 선택한 항목을 배열 또는 JSON으로 처리하는 방법을 알아볼 거예요.실제로 웹 폼을 만들 때 자주 사용되는 기능이니까, 이해하고 활용할 수 있으면 유용하답니다. 1. 전체 선택 체크박스 만들기먼저, 전체 선택 체크박스를 만들어보죠.하나의 체크박스를 클릭하면, 관련된 모든 체크박스가 자동으로 체크되거나 해제되는 방식입니다.$(document).ready(function() { $("#chkAgreeAll").on('click', function() { // 전체 동의 체크박스가 체크되었으면, 나머지 체크박스도 체크 .. 2024. 11. 27.
자바스크립트에서 빈 값 체크와 기본값 설정하는 방법 - -자바스크립트에서 빈 값이나 null 값을 처리하는 건 꽤 중요한 작업이죠.예를 들어, 사용자로부터 입력을 받거나 API에서 데이터를 받아올 때, 예상치 못한 빈 값들이 있을 수 있습니다.이런 값들을 제대로 처리하지 않으면 의도치 않은 오류가 발생할 수 있죠.오늘은 이런 상황에서 유용하게 사용할 수 있는 빈 값 체크와 기본값 설정 로직을 소개하려고 해요!1. 빈 값 체크 함수: isEmpty빈 값, 즉 undefined, null, 그리고 빈 문자열 ""을 확인할 때는 isEmpty라는 함수를 사용할 수 있어요.이 함수는 주어진 값이 빈 값인지 아닌지를 정확하게 판단해줍니다.function isEmpty(str) { if (typeof str == "undefined" || str == null.. 2024. 11. 26.
자바스크립트로 숫자만 입력받는 방법 --안녕하세요! 오늘은 자바스크립트를 활용해서 웹 페이지에서 숫자만 입력 받는 방법을 알려드릴게요. 간단한 방법으로, 숫자 이외의 문자는 입력되지 않도록 제한할 수 있어요. 이 기능은 예를 들어, 전화번호나 나이, 금액 등을 입력받는 입력창에서 유용하게 사용할 수 있습니다. 자, 그럼 어떻게 구현할 수 있는지 한번 알아볼까요?1. onKeyup 이벤트로 실시간 숫자 제한하기 첫 번째 방법은 onKeyup 이벤트를 사용하는 거예요.  이 방법은 사용자가 키를 떼는 순간, 입력된 값을 실시간으로 확인하고 숫자만 남기게 해줍니다. 위 코드에서 중요한 부분은 **replace(/[^0-9]/g, "")**인데요, 이 정규식을 통해 숫자 이외의 모든 문자를 찾아서 자동으로 제거해 줍니다. 2. input 이벤트를.. 2024. 11. 21.
자바에서 소수점 버림 처리하는 다양한 방법 --소수점 처리, 특히 "소수점 이하를 버린다"는 작업은 자주 필요한 기능 중 하나입니다. 예를 들어, 계산 결과를 화면에 출력할 때 소수점 이하 자리를 없애고 싶을 때가 있죠. 자바에서는 이런 소수점 버림 작업을 다양한 방법으로 처리할 수 있습니다. 오늘은 그 방법들을 하나씩 알아보겠습니다.1. Math.floor()로 소수점 버리기첫 번째로 소개할 방법은 Math.floor()입니다. Math.floor()는 주어진 숫자보다 작거나 같은 가장 큰 정수로 내림을 해주는 메서드입니다. 즉, 소수점 이하를 버리고, 가장 가까운 정수로 내리는 거죠.public class Main {    public static void main(String[] args) {        double number = 3.1.. 2024. 11. 18.
자바에서 소수점 올림과 반올림 처리하는 다양한 방법 --소수점 처리, 특히 "올림"과 "반올림"은 자주 사용하는 기능 중 하나입니다. 우리가 일상에서 숫자를 다룰 때, 계산 결과를 적절한 형식으로 맞추려면 소수점을 어떻게 처리할지가 중요하죠. 자바에서는 이 작업을 아주 쉽게 할 수 있는데요, 올림과 반올림을 처리하는 다양한 방법을 알려드릴게요!1. 소수점 올림 (Ceiling) – Math.ceil()먼저, 소수점 올림부터 시작해볼까요? 소수점 올림은 말 그대로 숫자의 소수점 이하를 올려서 가장 가까운 정수로 만드는 작업입니다. 예를 들어, 3.1은 4로 올리고, 3.9도 4로 올림하는 거죠. 어떤 숫자든지 올림을 해서 정수로 만드는 기능이 필요할 때 Math.ceil()을 사용합니다.Math.ceil() 사용 예시public class Main {   .. 2024. 11. 16.
Java에서 정규식(Regex) 사용법과 메타문자 소개 --정규식(정규 표현식)은 문자열을 패턴에 맞춰 검색하거나 수정하는 데 매우 유용한 도구입니다. 예를 들어, 이메일 주소가 맞는 형식인지 확인하거나, 특정 단어를 찾아서 다른 텍스트로 교체할 때 활용할 수 있죠. Java에서는 java.util.regex 패키지를 사용하여 정규식을 처리합니다. 이 패키지의 두 핵심 클래스는 Pattern과 Matcher입니다. 이들을 이용하면 문자열을 정규식으로 쉽게 처리할 수 있습니다.이번 포스트에서는 Java에서 정규식을 사용할 때 자주 쓰이는 메타문자(문자 패턴을 정의하는 특수한 문자들)를 표로 정리해 드리겠습니다. 이를 통해 정규식의 기본 개념과 사용법을 한눈에 이해할 수 있도록 도와드릴게요!1. 정규식의 메타문자 (Metacharacters)정규식에서 메타문자는.. 2024. 11. 15.
자바스크립트로 입력값 검증하는 방법: 아이디, 비밀번호, 이메일 체크하기 - -안녕하세요? 오늘은 프론트앤드 개발 중에서, 자바스크립트를 활용한 입력 값 검증 로직에 대해서 알아보도록 하겠습니다.웹사이트나 앱에서 회원가입을 할 때, 아이디, 비밀번호, 이메일을 입력받는 폼이 있죠?그런데 이 입력값이 잘못되면 회원가입이 제대로 되지 않거나, 보안에 문제가 생길 수 있습니다.그래서 우리는 자바스크립트를 이용해 사용자 입력을 정규식으로 검증할 수 있습니다.오늘은 아이디, 비밀번호, 이메일에 대한 입력값을 자바스크립트 정규식을 사용해 어떻게 체크할 수 있는지 알아보겠습니다. 직접 사용해볼 수 있도록 코드도 함께 공유할게요!1. 아이디 체크하기아이디는 일반적으로 영문, 숫자, 또는 영문과 숫자가 혼합된 형태로 입력받습니다.또한, 아이디는 4자리 이상 100자리 이하로 제한이 있는 경우.. 2024. 11. 14.
자바에서 서버의 호스트명을 가져오는 방법 - -자바를 사용하다 보면, 서버의 호스트명(혹은 로컬 머신의 호스트명)을 가져와야 할 때가 있습니다. 그럴 때 사용할 수 있는 두 가지 방법을 소개할게요. 바로 InetAddress 클래스와 System 클래스를 사용하는 방법입니다.1. InetAddress 클래스를 이용한 호스트명 가져오기 가장 많이 사용되는 방법은 InetAddress 클래스를 이용하는 것입니다. InetAddress는 네트워크 관련 정보를 다루는 클래스인데요, 이를 통해 로컬 시스템의 호스트명을 손쉽게 얻을 수 있습니다. import java.net.*;public class HostNameExample { public static void main(String[] args) { try { /.. 2024. 11. 13.
자바에서 경로 다루기: File, Request, Session을 활용한 경로 처리 방법 - -자바로 웹 애플리케이션을 만들다 보면, 파일 경로를 제대로 다루는 것이 정말 중요해요. 예를 들어, 파일 업로드나 다운로드를 구현하거나 웹 애플리케이션 내에서 특정 파일을 참조할 때 경로 처리가 잘못되면 예상치 못한 오류가 발생할 수 있죠. 그래서 오늘은 자바에서 파일 경로를 다루는 방법을 File, Request, Session을 기준으로 알아보려고 해요.File 클래스를 이용한 경로 처리 자바에서는 File 클래스를 이용해서 파일 경로를 다룰 수 있어요. File 클래스를 사용하면 현재 경로를 절대경로나 상대경로로 쉽게 알 수 있습니다.절대경로 (Absolute Path) 절대경로는 파일 시스템의 루트부터 시작하는 완전한 경로에요. 예를 들어, Windows에서는 C:\Users\Username.. 2024. 11. 12.
백앤드 개발의 필수 프로그램 포스트맨 설치 방법 -- Java back-end API programing test program !! 자바 백엔드 API 개발 시, 테스트 용도로 많이들 쓰는 포스트맨입니다. 설치 및 사용법을 간단하게 알려드리도록 하겠습니다. 1. 프로그램 다운로드 경로 진입을 합니다. URL : https://www.postman.com/downloads/ Download Postman | Get Started for FreeTry Postman for free! Join 35 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster.www.postman.com2. 회원가입을 해줍니다.(다.. 2024. 11. 4.
제이쿼리를 이용한 필수 입력 체크 -  -안녕하세요, 여러분! 오늘은 웹 개발에서 자주 사용되는 사용자 입력 필드의 유효성을 체크하는 방법에 대해 이야기해보려고 해요.  특히 자바스크립트를 이용한 간단한 함수들을 소개할게요. 1. nullCheck 함수 먼저, 사용자에게 입력을 요구하는 경우가 많죠?  이때 입력값이 비어있다면 사용자에게 친절하게 알려주는 것이 중요합니다.  그래서 만든 함수가 바로 nullCheck입니다.  이 함수는 특정 ID를 가진 입력 필드의 값을 체크하고, 값이 없으면 알림을 띄워줍니다. > function nullCheck(id, msg) { var temp = $("#" + id).val(); if (!temp) { alert(msg); $("#" + id).focus();.. 2024. 10. 31.
JavaScript로 Map과 List 클래스 구현하기 -  안녕하세요! 오늘은 JavaScript를 사용하여 Map과 List 클래스를 직접 구현하고, 이를 활용한 간단한 웹 애플리케이션을 만들어보겠습니다. 함께 살펴보시죠! 1. Map 클래스 구현먼저 Map 클래스를 만들어 보겠습니다.  이 클래스는 키-값 쌍을 저장하는 기능을 제공합니다.function Map() { this.elements = {}; this.length = 0;}Map.prototype.put = function(key, value) { this.elements[key] = value; this.length = Object.keys(this.elements).length;};Map.prototype.get = function(key) { return thi.. 2024. 10. 30.
자바스크립트로 HTML 색상 코드 다루기 - 안녕하세요, 여러분! 오늘은 웹 개발에서 색상을 다루는 방법에 대해 이야기해보겠습니다.  HTML과 CSS에서 색상 코드를 사용하는 것은 기본적이지만, 자바스크립트를 통해 색상을 동적으로 변경하거나 처리하는 방법을 배우면 웹 페이지를 더욱 매력적으로 만들 수 있습니다. 색상 코드란?HTML에서 색상 코드는 두 가지 주요 형식으로 제공됩니다:Hexadecimal (Hex) 코드: #RRGGBB 형식으로, 예를 들어 #FF5733은 빨간색과 주황색이 섞인 색입니다.RGB 코드: rgb(R, G, B) 형식으로, 각 색상의 값은 0부터 255까지의 숫자로 표현됩니다. 예를 들어 rgb(255, 87, 51)은 동일한 색상을 나타냅니다. 자바스크립트로 색상 변경하기자바스크립트를 사용하면 HTML 요소의 색상.. 2024. 10. 30.
자바 롬북 설치 ! java project lombok ! - - 안녕하세요? 오늘은, 자바에서 Getter/Setter를 자동으로 생성 및 설정해주는, lombok의 다운 및 설치와 방법에 대해서 알아보도록 하겠습니다 Lombok 이란, 자바에서 @Getter, @Setter 같은 annotation 기반으로 기존 DTO, VO, Domain Class 등을 작성할 때, 멤버 변수에 대한 Getter/Setter Method, Equals(), hashCode(), ToString()과 멤버 변수에 값을 설정하는 생성자 등등을 자동으로 생성해주는 라이브러리 입니다. 자, 일단 다운로드를 시작합니다. * Lombok 다운로드 URL : https://projectlombok.org/downloadhttps://projectlombok.org/※ 실행 전, Ecl.. 2024. 10. 28.
자바 AWS SNS ( Amazon Simple Notification Service ) ! 아마존 문자 서비스 구현 ! - -안녕하세요? 오늘은 아마존 문자 서비스인 AWS SNS ( Amazon Simple Notification Service )에 대해서 알아보도록 하겠습니다.AWS SNS 란??: Amazon Simple Notification Service 의 약자로,게시자에서 구독자에게 메시지 전송을 제공하는 관리형 서비스라고 설명하고 있다.https://docs.aws.amazon.com/ko_kr/sns/latest/dg/welcome.html Amazon이란 무엇입니까SNS? - Amazon Simple Notification Service이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.docs... 2024. 10. 25.
자바 AWS SES ( Amazon Simple Email Service ) 아마존 이메일 서비스 구현 ! - -안녕하세요? 오늘은, 아마존 이메일 서비스인 AWS SES ( Amazon Simple Email Service ) 에 대해서 알아보도록 하겠습니다. AWS SES 란??: Amazon Simple Email Service 의 약자로,사용자의 이메일 주소와 도메인을 사용해 이메일을 보내고 받기 위한,경제적이고 손쉬운 방법을 제공하는 이메일 플랫폼 이라고 설명하고 있다.https://docs.aws.amazon.com/ko_kr/ses/latest/DeveloperGuide/Welcome.html Amazon SES 클래식란 무엇입니까? - Amazon Simple Email Service이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를.. 2024. 10. 25.
MySQL too many connections 에러 발생 해결 방법 - -안녕하세요? 오늘은 DB 중에서 MySQL의 에러 중 하나인, too many connections 에러의 이유와 해결방안에 대하여 알아보도록 하겠습니다. too many connections 에러의 경우, MySQL DB에 연결된 클라이언트의 수가 일정수치 이상인 경우에 나타나게 됩니다. 그렇다면, 해결방법을 알아볼까요?일단, 현재 MySQL DB에 접속을 해서, 현재 DB의 최대 커넥션 갯수를 확인합니다. 명령어 입력 : show variables like '%max_connect%'; 커넥션의 지속시간을 확인합니다.명령어 입력 : show variables like 'wait_timeout';현재 DB의 상태를 확인 합니다.명령어 입력 : show status like '%CONNECT%'; .. 2024. 10. 25.
JPA 쿼리 JPQL 벌크 연산 - -안녕하세요? 오늘은 JPA의 JPQL 중 벌크 연산에 대해 알아보도록 하겠습니다.-벌크 연산: 쿼리 한번으로, 여러 테이블 로우 변경: executeUpdate의 결과는 영향받은 엔티티 수를 반환: Update / Delete 지원: 하이버네이트는 Insert ( insert into .. select ) 지원샘플 쿼리)EntityManagerFactory emf = Persistence.createEntityManagerFactory("유닛명");EntityManager em = emf.createEntityManager();EntityTransaction tx = em.getTransaction();tx.begin();// Flush 자동 호출 : commit / [쿼리날라갈때] / 강제호출St.. 2024. 10. 24.
JPA 쿼리 패치 조인 JPQL FETCH JOIN - -안녕하세요? 오늘은 JPA에서 JPQL 패치(FETCH) 조인 에 대해 알아보도록 하겠습니다. -페치 조인 ★★★(FETCH JOIN): SQL 조인 종류가 아니라, JPQL에서 성능최적화를 위해 제공: 연관된 엔티티나 컬렉션을 SQL 한번에 함께 조회JPQLSELECT e FROM 엔티티 e JOIN FETCH e.연관관계객체 sSQLSELECT t1.*, t2.* FROM 테이블1 as t1INNER JOIN 테이블2 as t2ON t1.key = t2.key+예로 들어서, Member 엔티티와, Team 엔티티가 존재하고, Member는 Team과 다대일 [N:1] 연관관계라고 가정했을 때멤버 엔티티 생성)@Entitypublic class Member {    @Id @GeneratedVal.. 2024. 10. 24.
JPA JPQL 경로 표현식 - -안녕하세요? 오늘은 JPA에서 JPQL의 경로 표현식 에 대해 알아보도록 하겠습니다. -경로 표현식: 점(.)을 찍어 객체 그래프를 탐색하는 것: 상태필드 / 연관필드로 나눠진다.상태필드(state field)경로 탐색의 끝, 더이상 탐색 불가연관필드(accociation field)단일 값 연관필드@ManyToOne, @OneToOne, 대상이 엔티티컬렉션 값 연관필드@OneToMany, @ManyToMany, 대상이 컬렉션+상태필드: SELECT e.컬럼 FROM 엔티티 e> 경로 탐색의 끝>> 추가 탐색 불가+단일값 연관필드(@ManyToOne, @OneToOne): SELECT e.단일연관관계객체 FROM 엔티티 e> 묵시적 내부 JOIN 발생> 추가 탐색 가능+컬렉션값 연관필드(@OneTo.. 2024. 10. 23.
JPA JPQL 타입 표현식과 기타식 그리고 조건식과 기본 함수 - -안녕하세요? 오늘은 JPA의 JPQL 타입 표현식과 기타식 그리고 조건식과 기본 함수 에 대해서 알아보도록 하겠습니다. JPQL 타입 표현: 문자는 싱글쿼테이션 사용: 숫자/불리언 타입은 자바와 동일: enum은 패키지명을 포함해야한다.> 파라메터에 셋팅해서 사용 가능: 엔티티 타입은, 상속관계에서 사용한다.타입 표현예제문자'HELLO', 'She''s'숫자10L(Long), 10D(Double), 10F(Float)BooleanTRUE, FALSEENUMjpabook.MemberType.Admin (패키지명 포함)엔티티타입TYPE(m) = Member (상속 관계에서 사용)샘플코드)String jpql = "SELECT e.컬럼, 'TEST', true FROM 엔티티 e"            +.. 2024. 10. 18.