| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- gson
- gradle
- Windows
- VSCode
- maven
- mybatis
- BPMN
- Kubernetes
- JavaScript
- nodejs
- useEffect
- nginx
- database
- react
- dbeaver
- Git
- Linux
- docker
- NCP
- MySQL
- tibero
- kubectl
- log4j2
- LOG4J
- IntelliJ
- SAP
- springboot
- Spring
- JPA
- Java
- Today
- Total
목록전체 글 (269)
두 손끝의 창조자
git config --global pull.ff only 리모트에 자신 커밋 보다 상위에 다른 뭔가가 있으면 merge 할 때 오류가 뜬다.
java 11.0.15 이상에서 undertow로 웹 서버를 올리면 제대로 동작을 안한다. java 17버전으로 해도 마찬가지 이다. spring boot 에서 undertow로 변경하면 안되고 톰켓은 또 잘 된다. Java regression and Undertow - Communities / CommandBox CLI - Ortus Solutions Community
mockito로 mock을 만들면 해당 메소드의 파라미터 이름을 지운다. 그래서 리플렉션으로 메소드 파라미터의 이름을 사용해야 할 경우 사용할 수 없으므로 유의할 것.
String date = "20220615052111"; LocalDateTime parse = LocalDateTime.parse(date, DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); System.out.println(parse); Instant instant = parse.atZone(ZoneId.systemDefault()).toInstant(); System.out.println(instant); System.out.println(LocalDateTime.ofInstant(instant, ZoneId.systemDefault())); System.out.println(ZoneId.systemDefault());
Spring data에서 Persistable 인터페이스는 ID를 가져오는 getId, 새로운 오브젝트여서 저장해야 하는지 merge 해야하는지 판단 할 수 있는 isNew 메소드가 있다. 엔티티에서 @Id 애노테이션으로 지정하면 엔티티를 만들 때 이미 ID가 null이 아니기 떄문에 새로운 객체가 아니라고 판단해서 select 한뒤 다시 머지를 하는 비효율적인 행동을 한다. 그래서 ID를 개발자가 직접 넣어줘야하는 엔터티는 Persistable 인터페이스를 구현해서 어떤 상황이 새로운 객체인지 알게 해 주어야한다.