프레임워크
-
[Spring JPA] @CreatedDate, @CreationTimestamp프레임워크/Spring 2024. 4. 25. 09:28
@CreatedDate, @CreationTimestamp 자동으로 현재시간을 컬럼에 넣어주는 역할을 한다. @CreatedDate는 스프링에서 제공해주는 어노테이션이고@CreationTimestamp는 하이버네이트에서 제공하는 어노테이션이다. 둘다 하는 역할은 비슷하지만 사용하는 방법에 차이가 있다 @Column(updatable = false)@CreationTimestampprivate LocalDateTime regDt;@CreationTimestamp는 선언만해도 자동으로 시간이 생성되지만 @CreatedDate는 @EnableJpaAuditing(application에 적용), @EntityListeners(AuditingEntityListener.class)(사용하는 엔티디클래스에 적용)을 ..
-
[spring] JPA 연관관계의 주인(mappedBy)프레임워크/Spring 2024. 3. 10. 14:17
양방향 연관관계를 지정할때 두 연관관계 중 하나를 연관관계 주인으로 설정해야함 주인은 mappedBy 속성사용 x 주인이 아닌 쪽에서 mappedBy 속성사용 테이블에 외래 키가 있는곳 예를 들어 회원 팀 회원 테이블에 team_id가 있으니 주인이 아닌 팀에 mappedBy 속성 지정한다. 일대일 매핑 데이터베이스 관점 주 테이블에 외래키 : 주 테이블만 확인해도 대상 테이블과 연관관계 확인이 가능(객체지향 선호) 대상 테이블에 외래키 : 테이블 관계를 일대일에서 일대다로 변경할 때 테이블 구조를 그대로 유지가능(데이터베이스 선호) JPA에서는 주 테이블에 외래키를 주자
-
[Spring] jpa를 이용한 페이징 - 1프레임워크/Spring 2022. 5. 2. 11:22
package modija.modija.repository; import modija.modija.domain.Member; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.repository.PagingAndSortingRepository; import java.util.List; public interface MemberRepository extends PagingAndSortingRepository { List findByAccount(String account); Page findAll(Pageable pageable); ..
-
[Spring] spring-data-jpa프레임워크/Spring 2022. 4. 29. 15:47
JPA를 이용하여 데이터 접근을 해볼려고 한다. org.springframework.boot spring-boot-starter-data-jpa 의존성 주입을 하고 Member 라는 도메인 객체를 생성하였다. package modija.modija.domain; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; import lombok.ToString; import org.hibernate.annotations.CreationTimestamp; import javax.persistence.*; import java.util.Date; @Entity @Getter public class Member { @Id @Setter(Acc..
-
[Spring] Testing the Web Layer프레임워크/Spring 2022. 4. 28. 15:13
junit를 이용하여 api 호출 테스트를 작성하여 볼것이다. 우선 테스트할 컨트롤러를 하나 생성합니다. package modija.modija.controller; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController @RequiredArgsConstructor public class MemberController { @GetMappin..
-
[Spring] H2 database 설정하기프레임워크/Spring 2022. 4. 22. 14:07
com.h2database h2 runtime 의존성을 추가 #h2 db 설정 spring.datasource.url=jdbc:h2:~/test; spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password= spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect 설정을 추가 localhost:8080/h2-console 접속을 하면된다. 추가적으로 기본적인 값을 넣고싶으면 spring.jpa.def..
-
[Spring] validation 체크 - 2프레임워크/Spring 2022. 4. 20. 13:44
이번에는 비밀번호체크 하는 어노테이션을 만들어서 validation 체크를 해볼것이다. 우선 pom.xml에 다음 의존성을 추가한다. org.hibernate hibernate-validator 6.0.10.Final package com.example.validatingforminput; import javax.validation.Constraint; import javax.validation.Payload; import java.lang.annotation.*; @Documented @Constraint(validatedBy = PasswordValidator.class) @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) public @i..