엔티티 매니저 팩토리와 엔티티 매니저 웹 어플리케이션에서 요청이 들어올 때 마다 엔티티 매니저 팩토리 (Entity Manager Factory) 에서 엔티티 매니저 (Entity Manager)를 생성한다. 이 엔티티 매니저는 데이터 베이스 커넥션을 얻는 것이라고 생각할 수 있다. 엔티티 매니저 팩토리 엔티티 매니저 팩토리는 어플리케이션 구동 시점에 딱 하나만 생성하면 된다. EntityManagerFactory emf = Persistence.createEntityManagerFactory(persistence-unit의 이름); 전체 어플리케이션이 종료하면 엔티티 매니저 팩토리도 닫아줘야 한다. emf.close(); 엔티티 매니저 엔티티 매니저는 실제 DB에 저장하는 등 의 트랜잭션 단위로 생성해..
All Categories
상황 설명 코딩테스트 준비로 알고리즘 문제를 풀다가 System.out.println을 사용하여 출력하였더니 시간초과가 발생하였다. 이런 경우에는 StringBuilder를 통해서 출력하면 실행시간을 현격히 줄일 수 있다는 것을 알게 되었다. 해당 문제는 아래에 첨부한다. StringBuilder로 출력 // StringBuilder 선언 StringBuilder sb = new StringBuilder(); // StringBuilder에 출력하고 싶은 값 추가하기 for(Integer integer : arr){ sb.append(integer); } // StringBuilder 출력 System.out.println(sb); 해당 문제와 코드 비교 https://www.acmicpc.net/pro..
1. Maven MySQL 연동 MySQL dependency 추가하기 1. https://mvnrepository.com/ 2. 검색창에 mysql 검색 3. MySQL Connector/J 클릭 4. 현재 MySQL 버전 클릭 5. Maven 선택 > 코드 복사 6. pom.xml에 붙여넣기 pom.xml 4.0.0 jpa-basic ex1-hello-jpa 1.0-SNAPSHOT 21 21 UTF-8 org.hibernate hibernate-entitymanager 5.6.15.Final com.mysql mysql-connector-j 8.2.0 javax.xml.bind jaxb-api 2.3.0 persistence.xml 프로젝트 > src > main > resources 에 아래 이름의..
에러 발생 상황 터미널에서 mysql을 실행하고 create user 명령문으로 유저를 생성할 때 다음과 같은 에러가 발생하였다. 에러 해결 먼저 현재 비밀번호의 정책을 확인한다. show variables like 'validate_password%'; validate_password.policy 의 값이 MEDIUM인 것을 확인할 수 있다. 더보기 validate_password.policy 의 값에 따른 정책 LOW : 비밀번호의 길이만 확인한다. 즉, 비밀번호가 8자리 이상이 되어야 한다. MEDIUM : 비밀번호가 8자리 이상이며, 비밀번호에 대문자, 소문자, 숫자, 특수문자가 모두 포함되어야 한다. STRONG : MEDIUM의 제약 조건 + 사용자의 이름이나 로그인 아이디가 포함되어서는 안되..
MySQL 완전 삭제 터미널을 실행하여 현재 실행중인 mysql을 중단한다. brew services stop mysql 다음으로 homebrew를 통해서 mysql을 삭제한다. brew uninstall --force mysql 아래의 명령어를 한 줄 씩 실행하여 삭제한다. sudo rm -rf /usr/local/mysql sudo rm -rf /usr/local/bin/mysql sudo rm -rf /usr/local/var/mysql sudo rm -rf /usr/local/Cellar/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /tmp/mysql.sock.lock sudo rm -rf /tmp/mysqlx.sock.lock sudo rm -rf /tm..
H2 버전 확인 방법 현재 내가 다운 받은 H2의 버전을 확인하는 방법이다. 1. 먼저 h2를 실행한다. ./h2.sh ( h2 -> bin 폴더로 이동 -> h2 실행 ) 2. h2를 실행하고 연결한다. 3. 다음과 같은 명령어를 입력하여 버전을 확인한다. SELECT H2VERSION() FROM DUAL; 현재 사용중인 h2의 버전이 2.2.224 임을 확인할 수 있다.
1. 메서드 오버로딩 (Method Overloading)자바에서 같은 이름의 메서드를 여러개 정의하는 것을 오버로딩 (Overloading) 이라고 함즉, 이름이 같고 매개변수가 다른 메서드를 여러 개 정의하는 것을 의미 1-1. 메서드 시그니처 (Method Signature)메서드를 구분할 수 있는 식별자메서드 이름, 매개변수 타입, 매개변수 순서 등으로 이루어짐메서드 시그니쳐 = 메서드 이름 + 매개변수 타입과 순서 1-2. 오버로딩 규칙오버로딩 규칙 : "메서드 시그니처가 달라야 한다." 1-3. 오버로딩 예시메서드의 이름이 같고, 매개변수의 개수가 달라야 한다.// 매개변수의 개수가 다른 경우public class Main { public static void main(String[] a..
향상된 for 문 이란 ? 일반적인 for 문으로 배열, 컬렉션 등의 요소를 모두 탐색하고 싶을 때 사용 가능한 for 문으로 일반 for 문에 비해 간결함을 가진다. 향상된 for 문 정의 for(변수 : 배열 or 컬렉션){ // 배열이나 컬렉션의 각각 요소들을 탐색하면서 수행할 작업 } 향상된 for 문 특징 일반 for문과는 다르게 배열의 인덱스를 사용하지 않고, 종료 조건 또한 필요 없다. 따라서 코드가 간결해지고 가독성이 좋아진다. '배열 or 컬렉션' 에 해당하는 곳에는 탐색하고 싶은 배열이나 컬렉션의 이름을 넣는다. '변수' 에 해당하는 곳에는 탐색하여 얻은 값을 저장할 변수를 넣는다. 향상된 for 문은 배열의 첫 요소부터 마지막 요소까지 순차적으로 탐색하며 마지막 요소 (배열의 끝) 에..