반응형

전체 글 145

[Oracle] LAG, LEAD 알아보기

LAG함수와 LEAD함수의 정의 및 구조 LAG 함수 : 자체 조인을 사용하지 않고 이전 행을 리턴하는 함수 LEAD 함수: 자체 조인을 사용하지 않고 다음 행을 리턴하는 함수 LAG(expression [, offset] [, default]) OVER ( [ query_partition_clause ] order_by_clause ) LEAD(expression [, offset] [, default]) OVER ( [ query_partition_clause ] order_by_clause ) expression: 값을 가져올 컬럼 offset: 값을 가져올 행의 위치. 생략 가능, 기본값은 1 default: 값이 없을 경우 리턴할 기본 값. 생략 가능 query_partition_clause: ..

Database/Oracle 2022.01.06

[Hibernate] ScriptAssert사용시 HV000232: No JSR 223 script engine found for language "javascript"

@ScriptAssert를 사용하면 HV000232: No JSR 223 script engine found for language "javascript"오류가 발생했습니다. 결론부터 얘기하면 jdk버전 문제였습니다. 조금 디테일하게는 JVM의 Javascript Engine 문제였으며 GraalVM에서 발생하는 문제였습니다. Nashorn엔진을 사용하는 버전(jdk8 ~ jdk14)을 사용하면 됩니다. 아래는 삽질기입니다. ---------------------------------------------------------------------------------------------------------------------- 인터넷을 찾아보니 단순히 jdk11버전이 아니라서 jdk11로 설정하면..

Spring 2022.01.06

[Tomcat] 캐시에 추가할 수 없습니다. 왜냐하면 만료된 캐시 엔트리들을 없애버린 이후에도 여유 공안이 충분하지 않기 때문입니다. 캐시의 최대 크기를 증가시키는 것을 고려해 보십시오.

톰캣 10.0 공식문서에 의하면 캐시의 최대 크기는 10mb라고 합니다.(8.0, 9.0도 동일) The maximum size of the static resource cache in kilobytes. If not specified, the default value is 10240 (10 megabytes). This value may be changed while the web application is running (e.g. via JMX). If the cache is using more memory than the new limit the cache will attempt to reduce in size over time to meet the new limit. If necessary, ca..

Spring 2021.08.31

[Java] cannot access the classes in the package

me.study.MemberService를 구현한 me.study.MemberServiceImpl에서 이러한 문제가 발생했습니다. 빌드 하는 것은 문제가 없었지만 Problems에 뜨는 것도 보기 좋지 않았고 무엇보다 code completion(content assist)가 먹통된 것이 제일 불편했습니다. 먼저 클래스 패스 설정, 클래스의 접근 제어자 확인, 클래스 스펠링 확인을 합니다. IDE 자동완성 기능을 통해 인터페이스를 구현한 것이라서 딱히 도움은 되지 않았습니다. 해당 디렉토리에 있는 클래스 파일을 모두 삭제하니까 됐습니다. out폴더를 통째로 날려도 괜찮을 것 같습니다. 원인은 컴파일 하는 소스 파일과 동일한 디렉토리에 클래스 파일이 있기 때문이라고 합니다. 스택오버플로우의 도움을 받았습니다.

Java 2021.03.17

[Oracle] 예약어 확인(ORA-00903 / ORA-00904)

USER라는 테이블을 생성합니다. CREATE TABLE USER ( ID VARCHAR2(10) ); 이 간단한 DDL은 ORA-00903: invalid table name오류를 냅니다. 그 이유는 테이블명을 오라클 예약어로 사용했기때문입니다. CREATE TABLE "USER" ( ID VARCHAR2(10) ); 위와 같이 쌍따옴표(")로 감싸주면 됩니다. 하지만 테이블을 조회해보면 같은 오류가 발생합니다. 이 역시 쌍따옴표(")로 감싸주면 되지만 매번 이러기 불편합니다. 이런경우 예약어를 피해서 테이블명을 만들어주는 것이 편할 수 있습니다. SELECT * FROM V$RESERVED_WORDS 위의 쿼리를 통해 예약어를 확인 할 수 있습니다. 또한 테이블 생성시 ORA-00904: invali..

Database/Oracle 2021.02.17