| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 |
| 30 | 31 |
- mybatis
- IntelliJ
- Git
- JavaScript
- nginx
- Java
- Linux
- NCP
- MySQL
- Spring
- SAP
- VSCode
- nodejs
- kubectl
- useEffect
- gradle
- springboot
- Kubernetes
- LOG4J
- Windows
- log4j2
- JPA
- database
- gson
- react
- maven
- BPMN
- docker
- dbeaver
- tibero
- Today
- Total
목록전체 글 (269)
두 손끝의 창조자
JPA에서 Entity를 가져와서 필드 하나를 업데이트하고 난뒤 커밋할 때 실제로 수행되는 쿼리를 확인해보면 전체 필드에 대해서 다시 업데이트되는 것을 볼 수 있다. 성능상 효율적일 수는 모르겠으나 유지보수할 때는 쿼리가 실행된 타이밍에 어떤 필드가 업데이트 됐는지 알 수가 없어 고통이 따를 수 있다. @Entity 과 함께 @DynamicUpdate 애노테이션은 이 부분을 해결한다. 음~ 깔끔해진 쿼리.
gradle 프로젝트면 resources 디렉토리에 import.sql 파일을 넣으면 초기화 할 때 자동으로 호출된다. 그런데 무슨 데이터소스 기준으로 하는지 프로파일 별로 할 수는 없는지...
%TB_HOME%\config 디렉토리에 tibero.tip 파일을 연다. MAX_SESSION_COUNT=20 항목을 수정하고 db를 재시작 한다.
RestController 에서 일반 오브젝트를 반환하면 스프링이 json으로 변환하여 응답한다. 이 과정에서 오브젝트를 json으로 변환할 수 없어 예외가 발생할 수 있다. 변환 못 하는 경우는 특정 오브젝트의 컨버터가 없어서 발생할 수 있는데 getter가 존재하기면 하면 어기간한것들은 다 해줄 수 있다. 그런데 getter가 아얘 없는 클래스의 오브젝트를 반환하려고 하면 예외가 발생한다. 당연하게도 아무것도 없으니. 반환하는것 자체가 문제가 있다. 그런데 정황상 어쩔수 없는 경우 그냥 반환하게 해야할 수도 있는데 빈 오브젝트인 경우 json 생성시 무시하게 옵션을 주면 된다. spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=falseRestController에..
프로파일 별로 다른 DB접속 정보를 사용하기 위해서 아래와 같이 설정하였다. 스프링 부트에 property 파일을 이용해서 설정하던디 -D를 이용해서 환경설정으로 실행했을 때는 문제없이 수행된다. @Configuration @PropertySources({ @PropertySource("classpath:/properties/${spring.profiles.active:local}.properties"), @PropertySource("classpath:/properties/db/biz/${spring.profiles.active:local}.properties"), @PropertySource("classpath:/properties/db/frm/${spring.profiles.active:local}..