전체 글(233)
-
JPA - Mysql 컬럼명 대문자 생성이 안될 때
jpa에서 @Column(name="ID") 을 사용하여 컬럼 매핑을 대문자로 했는데 hibernate 실행 쿼리는 소문자로 매핑되고 있고 실제 DB에 소문자로 컬럼이 설정됐다. 왜 대문자로 안되는지 구글에서 찾아보다가 나와 비슷한 문제를 겪고 있는 사람 발견하였음! https://velog.io/@gillog/JPA-Spring-Boot-JPA-Entity-Table-%EB%8C%80-%EC%86%8C%EB%AC%B8%EC%9E%90-%EA%B5%AC%EB%B6%84-%EB%AA%BB%ED%95%98%EB%8A%94-%EA%B2%BD%EC%9A%B0-%ED%95%B4%EA%B2%B0 [JPA] Spring Boot JPA Entity Table 대, 소문자 구분 못하는 경우 해결 Spring..
2022.03.24 -
더 맵게
[문제 접근법] - 최소 힙을 만들어서(우선순위 큐 사용) 최솟값을 하나씩 우선순위 큐에서 꺼낸다. 가장 맵지않은 음식이 K보다 적으면 그림 1처럼 두 번째로 맵지 않은 음식과 섞는다. 그리고 아래 연산을 한 후 다시 최소 힙에 넣는다. 만약 최소 힙의 가장 맵지 않은 음식의 스코빌 값이 K 이상이면 return 하여 끝낸다. https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr [구현 1] 1. 최소..
2022.03.24 -
JPA - Mysql 컬럼 매핑
JPA와 DB의 컬럼매핑을 검색해보다가 좋은 블로그를 찾게 되었다. Java DB 숫자 Byte tinyint(4) Short smallint(6) Integer int(11) Long bigint(20) BigDecimal decimal(19,2) Float float Double double Boolean bit(1) 날짜/시간 Date LocalDate date Timestamp LocalDateTime datetime Time time 문자열 String varchar(255) Clob longtext Byte[][2] tinyblob Blob longblob 출처 : https://ksy93.tistory.com/entry/Jpa-Mysql-column-%EC%9E%90%EB%A3%8C%ED%9..
2022.03.24 -
@Not Null vs @Column(nullable = false) 차이 비교
특정 테이블의 컬럼을 Not Null으로 설정이 필요할 때 JPA에서 @Not NUll 컬럼과 @Column(nullable = false)를 지원한다. (nullable의 디폴트는 true 값이다) 그러면 어떤 차이점이 있고, 어떤 것이 더 효율적일까? @Not Null부터 알아보자 @Not null 먼저 그림 1처럼 Member 엔티티를 만들고 birthday 필드를 @NotNull로 매핑하였음 @NotNull 테스트를 위해 Member 객체를 하나 만들고 birthday를 null로 하여 테스트 실행을 해보자. 아래의 실행 결과를 보면 javax.persistence.RollBackException과 javax.validation.ConstraintViolationExcept 예외가 발생하였음 그리..
2022.03.24 -
하이버네이트 자동 키 생성 전략
현재 JPA(Hibernate) + Mysql로 연동하는 프로젝트를 진행 하던 중 아래의 그림 1을 보고 왜 저 테이블을 만들지?? 라는것이 궁금해서 구글링을 통해찾아보게 되었다. DB는 테이블의 기본 키(PK)를 선정 할 때 두가지 방법이 있는데, 자연키(ex. 주민등록번호, 이메일 등) 와 대체키(의미없는 일련의 번호)로 구성된다. JPA는 테이블을 생성할 때 기본 키를 대체키로 생성한다. (사용법은 아래 소스코드 참조) @Entity @Getter @Setter public class test{ @Id @GeneratedValue //@GeneratedValue == @GeneratedValue(strategy = GenerationType.Auto) private int id; } 테이블 생성전략..
2022.03.24 -
[2021 Dev-Matching] 다단계 칫솔 판매
[문제 접근법] - 맵을 이용 하여 그래프를 만든 후 아래에서부터 위로 탐색하면서(ex. young -> edward -> mary -> center) 비용 정산을 한다. 최적화를 위해 분배되는 금액(이익금의 10%)이 0보다 클 때만 비용 정산을 하도록 접근하였다. https://programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr [구현 1] 1. 그래프를 만든다 2. seller의 금액을 그룹화시킨다. 3. 깊이 우선..
2022.03.23