queryDSL을 작성할 때 자주 안 쓰는 친구들은 쓸 때마다 헷갈려서 공식사이트에서 그대로 가져와봤습니다. //Standard Alternative expr isNotNull expr is not(null) expr isNull expr is null expr eq "Ben" expr === "Ben" expr ne "Ben" expr !== "Ben" expr append "X" expr + "X" expr isEmpty expr is empty expr isNotEmpoty expr not empty // boolean left and right left && right left or right left || right expr not !expr // comparison expr lt 5 expr ..
- 첫 작성일 : 21년 3월 21일 velog 블로그 1. 서론 초반 @Transactional 어노테이션에 대해 자세히 알아보지 않고, 막연히 롤백때 사용한다고 하여 SQL C,U,D 를 할 때마다 메소드 위에 붙여서 사용하곤 하였다. 하지만, 내 코드를 보신 선임께서 단지 @Transactional 만 붙이면 롤백이 안되고, @Transactional(rollbackFor = Exception.class) 을 붙여야 된다고 알려주셨다. 여기에서 뭐 때문인지에 대해 호기심에 트랜잭션에 대해 찾아보다가 내가 생각했던 것 보다 더 많은 기능들이 존재한다는 것을 알고 정리해보려 한다. 2. 트랜잭션이 뭐지? 데이터베이스의 상태를 변경하는 작업 또는 한번에 수행되어야 하는 연산들을 의미한다. begin, c..
- 첫 작성일 : 3월 20일 velog 블로그 서론 트랜잭션에 대해 공부하다보니 예외를 빼놓을 수 없어서 한 번 정리한다. 예외(Exception) 란? 예외는 크게 두 종류로 나뉘게 된다. Checked Exception 와 Unchecked Exception 그리고 예외와 별개로 오류(Error)가 있다. 예외란 개발자가 로직을 잘못 짰거나 혹은 사용자가 잘못된 값을 넘겨 정상적인 프로그램 흐름에 벗어나는 행위를 말한다. 그래서 미리 예측을 하여 예외를 잡을 수 있다. 오류는 하드웨어에서 문제가 발생하는 경우도 있고, 완전 잘못된 로직을 짠 경우 등 시스템 레벨에서 발생하는 비정상적인 행위이기 때문에 이를 미리 예측해서 막을 수도 신경을 쓸 필요도 없다. Checked Exception / Unch..
- 첫 작성일 : 21년 2월 14일 velog 블로그 @Lob 이란? JPA 어노테이션 중 하나로 db 문자열을 길이제한 없이 text로 사용할 수 있도록 연결해주는 녀석입니다. 버그내용 PostgreSQL에서 @Lob을 사용하여 get으로 정보를 불러올 때 Large Objects in auto-commit mode 와 같은 에러가 발생하게 됩니다. 해결방법 @Lob 대신 @Column(columnDefinition="TEXT") 사용 2021-04-23 추가내용 kdhyo98.tistory.com/35 [PostgreSQL] CLOB타입과 TEXT타입 - JPA 🤸♂️서론 예전에 @Lob 에러 관련 글을 적은 적이 있다. 당시에는 postgresql에서 @Lob을 아예 사용할 수 없는 줄 알고 @..
- 첫 작성일 : 21년 2월 11일 velog 블로그 BeanUtils.copyProperties ? 스프링에서 제공해주는 메소드로서 객체를 쉽고 간결하게 복사할 수 있게 해준다. 언제 사용하지? 예를들어 객체를 수정하기 위해 파라미터로 값을 받았을 때 필드가 많으면 많을 수록 setter의 횟수가 늘어나고 코드의 길이도 늘어나기 때문에 가독성과 소요시간이 떨어지게 됩니다. 이때 BeanUtils.copyProperties 메소드를 통해 한줄로 해결할 수 있습니다. 또한, 그대로 복사하지 않고 변경하지 않은 것들을 선택해서 원하는 것만 복사하고 싶을 때에도 사용하면 좋습니다. 사용방법 copyProperties(Object source, Object target) source - 원본 객체 target..
- 첫 작성일 : 21년 1월 17일 velog 블로그 Stirng Format 문자열의 형식을 원하는대로 표현해주는 메소드로 유용하게 사용되고 있다. 표현가능한 데이터 타입 모든 인수 적용 가능(ex - stirng, int, Integer, Boolean ...) %b (인수가 null이면 false 아니면 true 반환 / Boolean) %h (인수가 null이면 null 아니면 16진수 반환 / Integer.toHexString) %s (인수가 null이면 null 아니면 문자열 반환 / toString()) 숫자 (char, Character, byte, Byte, short, Short, int, Integer) %c (char, byte, short ... 을 받아 유니코드로 반환) 정수..
- 첫 작성일 : 21년 1월 10일 velog 블로그 🕶 서론 ('~이다'로 끝내는 것은 글을 편하게 쓰기 위해서이니 양해바랍니다.) 이 글은 postgresql 문법으로 작성되었지만 다른 sql에서도 주의해야 할 사항이다. 회사에서 COUNT를 사용하다가 생각했던 값과 다르게 나오는 것을 발견되었다. 과장님께서 간단하게 해결책을 제시해주셨고, 그 방법을 기록할 생각이다. 🎃 count COUNT 란 해당하는 조건(없어도 가능)에 원하는 컬럼 값이 존재하는지 확인하여 존재하는 것의 총 개수를 확인하는 문법이다. 위 테이블에서 contents에 내용이 있는 것들의 개수를 알아보기 위해 COUNT를 사용한다. 내가 원하는 답은 값이 들어있는 것의 합인 '6'을 원한다. 8???? 결과는 생각과는 다르게 8..
- 첫 작성일 21년 1월 1일 velog 블로그 😀서론 학교에서 php를 하고, 회사에서 spring boot + jsp를 사용하면서 아파치 톰캣을 자연스럽게 사용하게 되었다. 하지만, 사용하는 동안 이게 도대체 무엇이길래 웹을 할 때 많은 곳에서 사용하는지? 이게 정확히 무엇을 해주는건지? 에 대해 많은 궁금증을 가지면서 하다가 이번 기회에 공부를 하면서 정리를 해본다. 아파치(Apache) (아파치 검색을 해보면 AH-64(아파치) 헬기가 가장 많이 나오길래 한번 가져와봤습니다..) 우리가 흔히 아파치라고 부르는 것은 Apache HTTP Server를 의미하는 데 이는 오픈 소스 소프트웨어 그룹인 아파치 소프트웨어 재단(Apache Software Foundation, ASF)에서 만든 웹서버 프..