분류 전체보기
-
[JPA] 연관관계프로그래밍/JPA 2021. 10. 20. 17:29
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 연관관계 JPA의 연관관계는 3가지 키워드가 있다 방향 예를 들어 회원과 팀의 관계에서 회원 -> 팀 또는 팀 -> 회원과 같은 방향을 단방향 관계라고 한다. 회원 -> 팀, 팀 -> 회원과 같은 방향을 양방향 관계라고 한다. 방향의 경우 객체관계에만 존재한다. 테이블의 겨우는 항상 양방향 관계이다. 다중성 다중성에는 [다대일, 일대다, 일대일, 다대다] 4가지 다중성이 있다. 회원과 팀의 관계에서 회원은 1개의 팀에만 속할 수 있는 경우는 회원(다) : 팀(일)인 다대일 관계가 된다. 팀과 회원의 관계에서 회원은 1개의 팀에만 속할 수 있는 경우는 팀(일) : ..
-
[프로그래머스] 다음 큰 숫자 Java 풀이문제풀이/프로그래머스 2021. 10. 19. 21:59
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 문제 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 개수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수입니다. 예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다. 자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요. 2. 입력 n은 1,000,000 이하의 자연수입니다. 3. 예제 N R..
-
[JPA] Entity 매핑프로그래밍/JPA 2021. 10. 17. 23:23
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 기본 매핑에는 4개의 매핑이 존재 합니다. 객체와 테이블 매핑 기본 키 매핑 필드와 컬럼 매핑 연관관계 매핑 2. 객체와 테이블 매핑 테이블과 매핑 하는 클래스는 Entity 어노테이션을 필수로 붙여야 합니다. Entity 어노테이션이 붙은 클래스는 JPA가 관리하는 엔티티라고 부릅니다. ※주의사항 기본 생성자는 필수로 존재해야 합니다. final 클래스, enum, interface, inner 클래스에는 사용이 불가능 합니다. DB와 매핑하여 저장 할 필드에는 final 사용이 불가능 합니다. 엔티티와 매핑할 테이블을 지정하려면 Table 어노테이션을 붙여야 ..
-
[JPA] 영속성 컨텍스트프로그래밍/JPA 2021. 10. 14. 23:39
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 영속성 컨텍스트 영속성 컨텍스트란 번역하면 엔티티를 영구 저장하는 환경이라는 뜻으로 해석되며 영속성 컨텍스트는 엔티티 매니저를 생성할 때 하나 생성됩니다. 이렇게 만들어진 영속성 컨텍스트 엔티티 매니저를 통해 접근할 수 있고 관리할 수 있습니다. 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다. 엔티티 매니저는 find, persist, merge 메서드를 호출하여 엔티티를 영속성 컨텍스트에 저장합니다. 특징 영속성 컨텍스트는 엔티티의 식별자의 값으로 엔티티들을 구분합니다. 그러므로 영속 상태의 엔티티는 식..
-
[프로그래머스] 이진 변환 반복하기 Java 풀이문제풀이/프로그래머스 2021. 10. 12. 01:10
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 문제 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함..
-
[프로그래머스] 2개 이하로 다른 비트 Java 풀이문제풀이/프로그래머스 2021. 10. 10. 00:10
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 문제 양의 정수 x에 대한 함수 f(x)를 다음과 같이 정의합니다. x보다 크고 x와 비트가 1~2개 다른 수들 중에서 제일 작은 수 예를 들어, f(2) = 3입니다. 다음 표와 같이 2보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 3이기 때문입니다. 수 비트 다른 비트의 개수 2 000...0010 3 000...0011 1 f(7) = 11입니다. 다음 표와 같이 7보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 11이기 때문입니다. 수 비트 다른 비트의 개수 7 000...0111 8 000...1000 ..
-
[JPA] 객체와 데이터베이스의 패러다임 불일치프로그래밍/JPA 2021. 10. 9. 18:53
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 패러다임 불일치 프로그램 작성 중 특정 객체 정보를 영구 저장하기 위해서는 메모리가 아닌 다른 저장소 등에 저장되어야 합니다. 저장된 객체는 필요시 저장소에서 데이터를 가지고와 객체를 재 생성하여 사용하는 방식으로 사용됩니다. 객체의 경우 상속이나 다른 객체의 참조 등이 있는 경우도 빈번히 발생하게 됩니다. 이러한 경우 저장이 까다로워지지만 Java의 경우 직렬화와 역직렬화를 통해 파일에 저장하거나 파일로부터 데이터를 읽어와 객체를 생성할 수 있습니다. 하지만 직렬화가 된 경우 조회가 사실상 불가능하게 되어 직렬화 후 파일에 저장 방법을 사용하기 어렵습니다. 그래..
-
[JPA] SQL을 직접 작성 단점과 JPA사용으로 단점 극복프로그래밍/JPA 2021. 10. 8. 15:05
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. SQL을 직접 작성의 단점 DB의 경우 데이터를 관리함에 있어 애플리케이션의 객체 구조와는 다른 데이터 중심의 구조로 되어 있다. 개발자는 데이터를 조회 또는 저장 시 애플리케이션(객체)과 DB 사이에서의 변환 작업을 진행하여야 한다. 즉 DB에서 애플리케이션으로 데이터를 가지고와 객체를 만들 때와 애플리케이션의 객체 정보를 DB에 저장할 때 변환작업을 진행하여야 한다. Member Class public class Member{ String id; String name; } MemberDAO public class MemberDAO{ public Member f..