본문 바로가기

spring data jpa에서 enum 사용 방법 엔티티 클래스 중, Enum 값을 가지는 필드에 @Enumerated 를 붙여준다.@Enumerated에는 EnumType.STRING 혹은 EnumType.ORDINAL을 인자로 전달할 수 있다.둘의 차이는 다음과 같다. @Enumerated(EnumType.STRING) Rating rating the value of rating.name() is written and read from the corresponding database column; e.g. G, PG, PG13 @Enumerated(EnumType.ORDINAL) Rating rating the value of rating.ordinal() is written and read from the corresponding database ..
No EntityManager with actual transaction available for current thread - cannot reliably process 'remove' call 1. 원인db에서 delete를 수행하는 부분에서 발생한 에러다.검색 결과 다음과 같은 내용을 찾아볼 수 있었다The @PersistenceContext annotation has an optional attribute type, which defaults to PersistenceContextType.TRANSACTION. This default is what you need to receive a shared EntityManager proxy. The alternative, PersistenceContextType.EXTENDED, is a completely different affair: This results in a so-called extended EntityManager, which is..
MySQL 날짜, 시간 관련 내용 정리 1. 날짜 및 시간 자료형자료형 범위 DATE 0000-00-00 ~ 9999-12-31 DATETIME 0000-00-00 00:00:00 ~ 9999-12-31 23:59:59 TIMESTAMP 1970-01-01 00:00:00 이후로 지난 초 TIME -838:59:59 ~ 838:59:59 YEAR 1901 ~ 2155 [tip] DATETIME vs TIMESTAMP- 공통점 : 저장 가능 데이터 형식 YYYY-MM-DD HH:MM:SS[.fraction] (fraction은 소수점 이하 초로, 소수점 6자리까지 가능)- 차이점 :- DATETIME : 입력되는 날짜와 시간을 그대로 저장(TIME_ZONE 개념 없음)- TIMESTAMP : TIME_ZONE값을 기본으로 하여 날짜와 시간정보를..
The server time zone value '´ëÇѹα¹ Ç¥ÁؽÃ' is unrecognized or represents more than one time zone. 1. 증상spring boot와 MySql 연동 중 발생한 에러 2. 원인검색 결과 KST Time zone을 인식하지 못하는 것 같다.mysql에 시간이 SYSTIME으로 설정되어 있는데, SYSTIME이 UTC time이 아니라서 그런 것으로 보인다. 3. 해결책 spring.datasource.url=dburl?serverTimezone=UTCjdbc 설정에서 server time zone을 UTC로 설정해 주면 된다.
DECODE, CASE WHEN DECODE, CASE WHEN 둘 다 조건에 해당하는 값을 얻고자 할 때 사용(switch case 문 같은 기능) DECODEDECODE(expr, cond1, val1, cond2, val2 ..., default_val)SELECT DEPTNO, DECODE(DEPTNO, 10, 'ACCOUNTING', 20, 'RESEARCH', 30, 'SALES', 'NO_DEPT') DEPTNAMEFROM DEPT; CASE ~ WHEN ~ ENDCASE expr WHEN cond1 THEN val1WHEN cond2 THEN val2ELSE default_valENDSELECT DEPTNO,CASE DEPTNO WHEN 10 THEN 'ACCOUNTING'WHEN 20 THEN 'RESEARCH'WHEN..
Row chaining, Row migration Row chaining- Row에 저장된 데이터의 크기가 너무 커서, 하나의 블록에 다 담지 못하고 두 개 이상의 데이터 블록에 저장되는 것 Row migration- 수정한 데이터를 원래 블록에 저장하지 못하고 다른 블록에 저장하는 것 [참조]Row Chaining & Row Migration : https://tocsg.tistory.com/51
Rest API에서 로그인 구현 REST API에서는 서버가 session을 가지지 않습니다. 물론 REST API서버에도 session을 추가하여 사용할 수 있지만 이는 REST가 지향하는 바가 아닙니다. 대신 REST API는 토큰(token) 인증방식을 사용하게 됩니다.로그인 API로 아이디와 패스워드가 일치함이 확인되면 서버는 토큰을 발행하고, 로그인 후 이용가능한 API들에는 유효한 토큰이 있는 경우에만 사용할 수 있게 됩니다. 이때 토큰은 당연하게도 위조하기가 어려워야 하며 사용자를 인식할 수 있는 정보가 들어있어야 합니다. 이 포스팅에서는 JWT(JSON Web Token, http://jwt.io) package를 사용해서 토큰을 생성하고 확인하겠습니다. [출처] https://www.a-mean-blog.com/ko/b..
[NativeBase] fontFamily Roboto_medium is not a system font 에러 1. 원인expo 사용 시 발생하는 에러다.NativeBase의 getting started with expo를 참조하면 다음과 같은 문구가 있다.NativeBase use some custom fonts that can be loaded using Font.loadAsync function. Check out the Expo Font documentation. 커스텀 폰트를 Font.loadAsync로 로드해야 한다는 문장이다. 문서를 보니 ios일때는 시스템 폰트를, 안드로이드 일때는 Roboto_medium이라는 폰트를 사용한다.따라서 Roboto_medium 폰트를 가져와 주어야 한다. 2. 해결책앱을 시작할 때 다음 코드를 실행해 폰트를 로딩한다.// At the top of your file ..