본문 바로가기

전체 글

hibernate 5 spring data jpa @Column 이슈 Spring boot 1.4.x 와 spring data jpa(MySql) 사용시 @Column(name="stockId") 와 같이 camelcase 형태로 지정 했을 경우, name의 속성이 무시되고 underscore형태의 "stock_id" 를 찾는 오류가 나타난다. hibernate 4.x 에서는 아래의 옵션으로 해결했지만, 5 부터는 해당 옵션이 수정되었다. spring.jpa.hibernate.naming.implicit-strategy= # Hibernate 5 implicit naming strategy fully qualified name. spring.jpa.hibernate.naming.physical-strategy= # Hibernate 5 physical naming stra.. 더보기
EntityManager를 이용한 native query 호출에 대한 mock test Spring Data + JPA등을 쓰면서도 간혹 Native의 Sql을 사용하는 경우가 있다. 이런경우에 대한 Test코드는 다음과 같다. ...import static org.mockito.Matchers.anyString;import static org.mockito.Mockito.mock;import static org.mockito.Mockito.when; import javax.persistence.EntityManager;import javax.persistence.Query; import org.junit.Test;import org.junit.runner.RunWith;import org.mockito.InjectMocks;import org.mockito.Mock;import org.m.. 더보기
Jenkins API 를 이용한 batch build 실행하기 #1 1. 우선 Jenkins 소스를 보자. https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients 각 버전에 맞는 소스를 사용하면 된다. httpclient 4.3.x를 사용하므로 마지막 것으로 진행. 2. login 계정. 실제 본인 계정으로 로그인을 실행하면 문제 없이 실행된다. 그러나 본인의 password를 소스에 넣는 다던지, 아니면 꼬박꼬박 재입력을 하기는 귀찮으니 Jenkins 로 부터 토큰을 받아두자. API Token 이 필요. 3. 1번 소스에서 Password에 해당된다. 4. 이제 빌드 Job 을 만들어 보자. 우선 기본적인 job은 동일하다. 이후 parameter에 관련된 속성을 추가해줘야 한다. 매개 .. 더보기
solr 설치 후, 가장 중요한 일! Jetty 를 사용하지 않고, Tomcat으로 전환했을 경우는 무시 - Jetty의 경우 1. timezone을 변경2. heap/xmx/xms등 메모리 관리 위치:$] vi {SOLR_HOME}/bin/solr.in.sh timezone을 기존 UTC에서 "GMT+09:00"로 수정해준다. 더보기
간혹 sleep을 걸고 싶을때 간혹, 테스트든 뭐든 로직도중 잠시 쉬어가는(?) 것으로다가 sleep을 걸어야 할때가 있다. 이 경우 Thread.sleep(ms)를 사용하게 되는데, try~catch 도 걸어야되고, 아니면 따로 빼던지.. 아!~ 여튼 귀찮다. Guava 를 쓰고 있다면, Uninterruptibles.sleepUninterruptibly(ms, TimeUnit.MILLISECONDS) 이렇게 쓰자.. 뭐, 용도 전환이야 알아서 하는거 아니겠는감. 더보기