본문 바로가기

Spring/Spring Data JPA

(14)
@DiscriminatorColumn을 이용한 Spring Data Jpa 상속관계(Inheritance) 매핑 하기 Spring Data Jpa 상속관계(Inheritance) 매핑 하기 Spring Data Jpa를 이용해 Restful Api를 구축하는데 Domain설계부터 다시 하고있습니다. 그런데 Dynamic으로 해야 할 일이 있어서 이 기능을 알아보게 되었습니다. 시나리오 교보문고에 가면 물건들(Item)을 파는데 앨범(Album)도 판다. 사용한것 Spring Data Jpa, Lombok. MySql Lombok을 사용했기 때문에 @Data 어노테이션이 있습니다. 사용한 전략은 조인 전략 매핑을 사용했습니다. 구조 item 이라는 table이 parent(부모), album 이라는 table이 child(자식)구조입니다. Table item과 album 2개만 해보았습니다. item CREATE TABL..
Spring Data Jpa로 Restful API구축 할 때 날짜 출력 설정 JsonConfig.java@Configuration @Slf4j public class JsonConfig { @Bean public ObjectMapper namedObjectMapper() { return Jackson2ObjectMapperBuilder.json() .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) .modules(new JavaTimeModule()) .build(); } } restful api로 MySql Datetime을 출력 해줄 때 timestamp로 나오는걸 '날짜T시간' 형식으로 출력하게 해준다.
그래들(gradle)로 스프링 부트 JPA 빌드하고 DB연동 하는 예제 그래들(gradle)로 스프링 부트 JPA 빌드하고 DB연동 하는 예제 화질을 조정해서 보시면 선명하게 보입니다. 소스코드는 아래 링크에 있습니다.https://github.com/Kyeongrok/spring_boot_data_jpa_build 내용은 아래와 같습니다. Intelli J + Gradle로Spring Boot 빌드하기Spring Data Jpa DB연동하기 1.spring boot project빌드하기2.db table생성3.db연동4.test code 작성
Spring Data JPA 날짜 between 1.between 사용법 repository List findByLatestUpdateBetween(Date start, Date end); main.java Date before = new Date(System.currentTimeMillis() - 30000L); Date now = new Date(); System.out.println(before); System.out.println(now); List live = liveBaseballScoreRepository.findByLatestUpdateBetween(before, now); spring data jpa 메소드 쿼리로 date between만들기 2.between과 and사용법 어제 00:00:00부터 오늘 23:59:59초까지 24:00..
Spring Data Jpa Native Query 사용법 Spring Data Jpa Native Query 사용법 기존 mybatis등 orm프레임웍 말고 다른 db프레임웍을 쓰다가 jpa로 바꾸려고 할 때 jpa만으로 해결이 잘 안되는 상황이 있습니다. 그럴때는 native query를 써야할 상황이 있는데 아래와 같이 사용하면 됩니다. Repository Interface에서 선언 @Query(value = "select * from table_name where case_1=:case_1 and date='2017-04-04' ", nativeQuery=true) List findSomeCase(@Param("case_1") String case_1); end.
spring data jpa 메소드 이름으로 쿼리 생성 spring data jpa 메소드 이름으로 쿼리 생성 http://docs.spring.io/spring-data/jpa/docs/1.4.1.RELEASE/reference/html/jpa.repositories.html wordSampleJPQL snippetAndfindByLastnameAndFirstname… where x.lastname = ?1 and x.firstname = ?2OrfindByLastnameOrFirstname… where x.lastname = ?1 or x.firstname = ?2BetweenfindByStartDateBetween… where x.startDate between 1? and ?2LessThanfindByAgeLessThan… where x.age < ?..