대부분의 엔티티에는 @Id 애노테이션을 한 개 사용한다. 하지만 테이블의 키가 복합키로 이뤄져 있다면 엔티티를 설계할 때에 이를 고려해야 한다. 복합키 설정 방법은 두 가지가 있다. 1. @Embeddable 이용하는 방법 2. @IdClass 이용하는 방법 첫 번째 방법이 객체지향 방식에 가깝다고 한다. 두 번째 방법은 DB 방식에 가깝다고 하는데 잘 와닿지는 않는다. @Embeddable 이용 방법 다음과 같이 emp 테이블이 존재한다. emp 테이블의 키는 emp_name, emp_no 두 개의 복합키로 이뤄져 있다. create table emp ( emp_name varchar(255) not null, emp_no integer not null, name varchar(255), primary..
개발을 진행 하는중에 JPA 를 사용하게 되었다. JPA를 처음 사용해보는 상태에서 CUD 는 JPA 를 이용하고 SELECT의 경우 MyBatis 를 사용하도록 프로젝트가 구성 되었다. 샘플 페이지를 만들어 보니 Update에서 문제가 발생 하였다. requestDto에서 보내온 정보를 Entity에 넣으면서 데이터가 null 인 부분도 모두 업데이트를 치는 형태로 만들게 되었다. 이 부분을 어떻게 해결할수 있는 부분이 없어서 검색을 하다 보니 너무 편하게 사용할수 있는 소스를 찾았다. @RequestMapping(value = "/rest/user", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBo..
Numeric 정수 또는 소수 값을 저장 Oracle 에서의 Number, MySQL Decimal 와 같은 의미로 보면 된다. Numeric(p,s) 실수(10진수) p : , s: 소수점 자리수 ex ) numeric(7,3) -> 전체자리는 7자리, 소수점 3자리를 의미함 Integer 오직 정수만 저장 NameStorage SizeDescriptionRange smallint 2 bytes small-range integer -32768 to +32767 integer 4 bytes typical choice for integer -2147483648 to +2147483647 bigint 8 bytes large-range integer -9223372036854775808 to 92233720..
표기법 varchar(n) 및 char(n)은 각각 character varying(n) 및 character(n)의 별명이다. 둘 다 똑같지만 많은 데이터베이스가 주로 postgreSQL이 제공하는 다양한 문자를 제공하지 않는다. 따라서 Oracle Postgre 및 DB2와 같은 다중 데이터베이스의 경우 Varchar를 사용하는 것이 좋다. 형명설명 character varying( n ) 、 varchar( n ) 상한있는 가변 길이 character( n ) 、 char( n ) 공백으로 채워진 고정 길이 text 제한없는 가변 길이 PostgreSQL에서 사용할 수있 는 범용 문자 형식을 보여줍니다. SQL은 2 개의 주요 문자 데이터 형식을 정의합니다. character varying(n), ..
JAVA8의 LocalDateTime을 이용해서 DB로 부터 데이터를 받아와서 JSP 페이지에 값을 넣으려고 하는데 에러가 발생 하였다. There was an unexpected error (type=Internal Server Error, status=500). Cannot convert [2019-04-17T15:43:16] of type [class java.time.LocalDateTime] to [class java.util.Date] javax.el.ELException: Cannot convert [2019-04-17T15:43:16] of type [class java.time.LocalDateTime] to [class java.util.Date] at org.apache.el.lang..

1. Architecture 스프링 서버를 통해 데이터를 앱에 전달 하는 형태로 개발 2. HTTP POST 단일 데이터의 경우 https://fcm.googleapis.com/fcm/send Content-Type:application/json Authorization:key=SERVER_KEY { "to":"token value", "notification" : { "title" : "TITLE", "body" : "BODY" }, "data" : { "Key-1" : "Value 1", "Key-2" : "Value 2" }, } 항목에 등록된 장치로 데이터 보내는 경우 https://fcm.googleapis.com/fcm/send Content-Type:application/json Author..
항상 알듯 알듯 하면서도 한번씩 잊어 버리는 용어들이다. 오버로딩(Overloading) : 같은 이름의 메소드를 여러 개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술 오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메소드를 하위 클래스가 재정의 해서 사용 하는 기술 오버로딩(Overloading) String test(){ return "test 중""; } String test(String a, String b){ return a + b ; } String test (String a){ return a; } 오버라이딩(Overriding) 상위 클래스가 가지고 있는 멤버변수가 하위 클래스로 상속되는 것처럼 상위 클래스가 가지고 있는 메소드도 하위 클래스로 상속되어 하위 클래스에..
스프링 프레임 워크에서는 static 변수에 값을 삽입 할수 없다. 예를 들어서 환경 변수에 다음과 같이 설정 하였을 때 1 2 3 @Value("${aesCryptKey.value}") private static String MYKEY; MYKEY 에는 null 이 들어온다. 해결 방법 non static 메소드를 통해 받은 환경변수를 static 변수에 넣어 줄수 있다. 1 2 3 4 5 6 7 8 9 @Component public class GlovalValue { public static String MYKEY; @Value("${aesCryptKey.value}") public void setMykey(String key) { MYKEY = key; } } @Component로 파일을 생성하고..
- Total
- Today
- Yesterday
- java17
- 개발자
- varchar
- springboot최신기능
- uuid_vs_serial
- 프로그래밍
- SQL
- db설계
- GraalVM
- 코딩
- db성능
- virtualthreads
- 레코드패턴
- jakartaee10
- 인공지능
- 스프링부트
- postgresql튜닝
- Ai
- XBOXSERIESX
- PostgreSQL
- springsecurity6
- java
- springboot3
- 클린코드
- 스프링
- 백엔드
- pc게임
- Java21
- AI혁신
- 게임추천
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |